[英]Appending 1D Ndarray to 2D Ndarray
我正在嘗試 append 一個一維數組,該數組是通過一次將一個元素附加到二維數組作為數組中的新行而生成的。
a = np.ones((2, 5), int)
b = np.empty((0, 5), int)
b = np.append(b, [1])
b = np.append(b, [2])
b = np.append(b, [3])
b = np.append(b, [4])
b = np.append(b, [5])
a = np.append(a, b, axis=0)
print(b)
我很困惑為什么這段代碼不起作用? 它們都是 5 個元素的 arrays,但出現以下錯誤? “ValueError:所有輸入 arrays 必須具有相同的維數”
a 和 b 具有不同的dim
a 是 (2,5) 並且 b 是 (5,) 將 b 重塑為 (1,5)。
然后你可以 append b
行方式如下:
result=np.append(a,b.reshape(1,-1),axis=0)
np.append
正在嘗試沿特定軸連接一維數組 ( b
) 和二維數組 ( a
),但b
的維數與a
不同。
使用vstack
而不是append
:
b = np.array([1, 2, 3, 4, 5])
a = np.vstack((a, b))
b = np.array([1, 2, 3, 4, 5])
a = np.concatenate((a, b[np.newaxis, :]), axis=0)
在上面的示例中, b
首先被重塑為形狀為 (1,5) 的二維數組,然后連接到a
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.