我想将数组[3, 3, 3]添加到数组[[1, 1, 1], [2, 2, 2]]末尾,使其变为[[1, 1, 1], [2, 2, 2], [3, 3, 3]]。以下是我的代码:
import numpy as np
arr1 = np.array([[1, 1, 1],
[2, 2, 2]])
arr2 = np.append(arr1, [3, 3, 3])
print (arr2)
不要打印 [[1, 1, 1], [2, 2, 2], [3, 3, 3]]
,
它会打印 [1, 1, 1, 2, 2, 2, 3, 3, 3]
。
我对numpy很新,并且我不理解为什么2d数组突然变成了1d。
np.append
的文档?它解释了展平的原理。 - hpauljarr2 = np.append(arr1, [3, 3, 3], axis=0)
但它给了我一个错误:所有输入数组的维度必须相同,但索引为0的数组具有2个维度,而索引为1的数组具有1个维度
。 - theboss thebossnp.append
基本上是调用np.concatenate
的另一种方式,正如您错误的回溯所显示的那样。一个数组的形状为 (2,3),另一个数组的形状为 (3,)。第二个数组应该是 (1,3) 形状才能进行连接。vstack
是concatenate
的另一种替代方法,可以处理这个细节。 - hpaulj