【发布时间】:2023-03-21 23:22:01
【问题描述】:
我一直在努力理解为什么我无法做到这一点:
>>> import numpy as np
>>> a = [np.empty((0,78,3)) for i in range(2)]
>>> b = np.random.randint(10,size=(1,78,3))
>>> a[0] = np.append(a[0],[b],axis=0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/site-packages/numpy/lib/function_base.py", line 5003, in append
return concatenate((arr, values), axis=axis)
ValueError: all the input arrays must have same number of dimensions
>>>
a 是一个列表,其中包含 s 个形状为 (0,78,3) 的空 numpy 数组
b 是一个形状为 (1,78,3) 的随机 numpy.array
然后我尝试将b 附加到a[0]... 但这似乎不可能,因为没有相同的尺寸?...我不确定这里有什么问题.. 如果我删除了列表部分它会起作用,那么为什么不使用列表呢?..
【问题讨论】:
-
添加时只需从 b 中删除 []。
a[0] = np.append(a[0],b,axis=0)