将一维数组附加到 Numpy 中的二维数组 Python
Append a 1d array to a 2d array in Numpy Python
我有一个 numpy 二维数组 [[1,2,3]]
。
我需要附加一个 numpy 的一维数组,(比如 [4,5,6]
),这样它就变成了 [[1,2,3], [4,5,6]]
使用列表很容易做到这一点,您只需在二维列表上调用 append。
但是你如何在 Numpy 数组中做到这一点?
np.concatenate
和 np.append
不起作用。他们出于某种原因将数组转换为一维。
谢谢!
你想要vstack:
In [45]: a = np.array([[1,2,3]])
In [46]: l = [4,5,6]
In [47]: np.vstack([a,l])
Out[47]:
array([[1, 2, 3],
[4, 5, 6]])
您可以堆叠多行,条件是除了第一个轴外,数组必须具有相同的形状。
In [53]: np.vstack([a,[[4,5,6], [7,8,9]]])
Out[53]:
array([[1, 2, 3],
[4, 5, 6],
[4, 5, 6],
[7, 8, 9]])
试试这个:
np.concatenate(([a],[b]),axis=0)
当
a = np.array([1,2,3])
b = np.array([4,5,6])
那么结果应该是:
array([[1, 2, 3],
[4, 5, 6]])
我有一个 numpy 二维数组 [[1,2,3]]
。
我需要附加一个 numpy 的一维数组,(比如 [4,5,6]
),这样它就变成了 [[1,2,3], [4,5,6]]
使用列表很容易做到这一点,您只需在二维列表上调用 append。
但是你如何在 Numpy 数组中做到这一点?
np.concatenate
和 np.append
不起作用。他们出于某种原因将数组转换为一维。
谢谢!
你想要vstack:
In [45]: a = np.array([[1,2,3]])
In [46]: l = [4,5,6]
In [47]: np.vstack([a,l])
Out[47]:
array([[1, 2, 3],
[4, 5, 6]])
您可以堆叠多行,条件是除了第一个轴外,数组必须具有相同的形状。
In [53]: np.vstack([a,[[4,5,6], [7,8,9]]])
Out[53]:
array([[1, 2, 3],
[4, 5, 6],
[4, 5, 6],
[7, 8, 9]])
试试这个:
np.concatenate(([a],[b]),axis=0)
当
a = np.array([1,2,3])
b = np.array([4,5,6])
那么结果应该是:
array([[1, 2, 3], [4, 5, 6]])