我想创建一个空数组,并将项附加到它,一次一个。
xs = []
for item in data:
xs.append(item)
我可以用NumPy数组使用这种列表风格的符号吗?
我想创建一个空数组,并将项附加到它,一次一个。
xs = []
for item in data:
xs.append(item)
我可以用NumPy数组使用这种列表风格的符号吗?
当前回答
我研究了很多,因为我需要使用numpy。在我的一个学校项目中,我需要将数组初始化为空…我在Stack Overflow上没有找到任何相关的答案,所以我开始涂鸦。
# Initialize your variable as an empty list first
In [32]: x=[]
# and now cast it as a numpy ndarray
In [33]: x=np.array(x)
结果将是:
In [34]: x
Out[34]: array([], dtype=float64)
因此,可以直接初始化np数组,如下所示:
In [36]: x= np.array([], dtype=np.float64)
我希望这能有所帮助。
其他回答
要在NumPy中创建一个空的多维数组(例如,一个2D数组m*n来存储矩阵),如果你不知道你要追加多少行,也不关心Stephen Simmons提到的计算成本(即在每次追加时重新构建数组),你可以将你想追加的维度压缩为0:X = np。空(形状= [0,n])。
这样你可以使用例如(这里m = 5,我们假设我们在创建空矩阵时不知道,n = 2):
import numpy as np
n = 2
X = np.empty(shape=[0, n])
for i in range(5):
for j in range(2):
X = np.append(X, [[i, j]], axis=0)
print X
这将给你:
[[ 0. 0.]
[ 0. 1.]
[ 1. 0.]
[ 1. 1.]
[ 2. 0.]
[ 2. 1.]
[ 3. 0.]
[ 3. 1.]
[ 4. 0.]
[ 4. 1.]]
我研究了很多,因为我需要使用numpy。在我的一个学校项目中,我需要将数组初始化为空…我在Stack Overflow上没有找到任何相关的答案,所以我开始涂鸦。
# Initialize your variable as an empty list first
In [32]: x=[]
# and now cast it as a numpy ndarray
In [33]: x=np.array(x)
结果将是:
In [34]: x
Out[34]: array([], dtype=float64)
因此,可以直接初始化np数组,如下所示:
In [36]: x= np.array([], dtype=np.float64)
我希望这能有所帮助。
最简单的方法
输入:
import numpy as np
data = np.zeros((0, 0), dtype=float) # (rows,cols)
data.shape
输出: (0,0)
输入:
for i in range(n_files):
data = np.append(data, new_data, axis = 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。)
另一个创建空数组的简单方法是:
import numpy as np
np.empty((2,3), dtype=object)