簡體   English   中英

將 1D Ndarray 附加到 2D Ndarray

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM