目前,我有一些像这样的代码
import numpy as np
ret = np.array([])
for i in range(100000):
tmp = get_input(i)
ret = np.append(ret, np.zeros(len(tmp)))
ret = np.append(ret, np.ones(fixed_length))
Run Code Online (Sandbox Code Playgroud)
我认为这个代码效率不高,因为np.append需要返回数组副本而不是修改ret就地
我想知道我是否可以使用extend像这样的numpy数组:
import numpy as np
from somewhere import np_extend
ret = np.array([])
for i in range(100000):
tmp = get_input(i)
np_extend(ret, np.zeros(len(tmp)))
np_extend(ret, np.ones(fixed_length))
Run Code Online (Sandbox Code Playgroud)
这样extend会更有效率.有没有人有这个想法?谢谢!
我正在尝试使用 np.append 附加到一个 numpy 数组。
例如,
a = np.array([1])
np.append(a, [2])
Run Code Online (Sandbox Code Playgroud)
此代码在终端中运行良好(结果是 array([1, 2])),但是当我运行包含相同代码的 .py 文件时它不起作用。当我在附加 [2] 后打印 a 时,它仍然是 [1]。
这是我的 test.py 文件的代码:
import numpy as np
a = np.array([1])
print(a)
np.append(a, [2])
print(a)
Run Code Online (Sandbox Code Playgroud)
这是使用终端运行它的结果:
python test.py
[1]
[1]
Run Code Online (Sandbox Code Playgroud)
没有错误的错误结果。有谁知道可能是什么问题?