del*_*a27 3 python replication numpy python-3.x
我想将一个小数组复制到特定长度的数组
例:
var = [22,33,44,55] # ==> len(var) = 4
n = 13
Run Code Online (Sandbox Code Playgroud)
我想要的新数组是:
var_new = [22,33,44,55,22,33,44,55,22,33,44,55,22]
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
import numpy as np
var = [22,33,44,55]
di = np.arange(13)
var_new = np.empty(13)
var_new[di] = var
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
DeprecationWarning:分配将在将来引发错误,最有可能是因为索引结果形状与值数组形状不匹配。您可以
arr.flat[index] = values
用来保留旧的行为。
但是我得到了相应的变量:
var_new
array([ 22., 33., 44., 55., 22., 33., 44., 55., 22., 33., 44.,
55., 22.])
Run Code Online (Sandbox Code Playgroud)
那么,如何解决错误呢?还有其他选择吗?
有更好的方法来复制数组,例如,您可以简单地使用np.resize
:
返回具有指定形状的新数组。
如果新数组大于原始数组,则新数组将填充的重复副本
a
。[...]
>>> import numpy as np
>>> var = [22,33,44,55]
>>> n = 13
>>> np.resize(var, n)
array([22, 33, 44, 55, 22, 33, 44, 55, 22, 33, 44, 55, 22])
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1081 次 |
最近记录: |