我想创建一个空数组,并将项附加到它,一次一个。
xs = []
for item in data:
xs.append(item)
我可以用NumPy数组使用这种列表风格的符号吗?
我想创建一个空数组,并将项附加到它,一次一个。
xs = []
for item in data:
xs.append(item)
我可以用NumPy数组使用这种列表风格的符号吗?
当前回答
也许你正在寻找的是这样的东西:
x=np.array(0)
通过这种方式,您可以创建一个没有任何元素的数组。它类似于:
x=[]
通过这种方式,您可以提前向数组中添加新元素。
其他回答
你可以应用它来构建任何类型的数组,比如0:
a = range(5)
a = [i*0 for i in a]
print a
[0, 0, 0, 0, 0]
下面是一些使numpys看起来更像list的方法
np_arr = np.array([])
np_arr = np.append(np_arr , 2)
np_arr = np.append(np_arr , 24)
print(np_arr)
输出:array([2.], 24。)
根据你使用它的目的,你可能需要指定数据类型(参见'dtype')。
例如,要创建一个8位值的2D数组(适合用作单色图像):
myarray = numpy.empty(shape=(H,W),dtype='u1')
对于RGB图像,包括形状中的颜色通道数:shape=(H,W,3)
您还可以考虑使用numpy进行零初始化。0代替numpy.empty。请看这里的说明。
我认为你可以像这样创建空numpy数组:
>>> import numpy as np
>>> empty_array= np.zeros(0)
>>> empty_array
array([], dtype=float64)
>>> empty_array.shape
(0,)
当您想在循环中追加numpy数组时,这种格式非常有用。
另一个创建空数组的简单方法是:
import numpy as np
np.empty((2,3), dtype=object)