首頁  >  文章  >  後端開發  >  如何使用「np.c_[...]」為 NumPy 陣列新增額外的欄位?

如何使用「np.c_[...]」為 NumPy 陣列新增額外的欄位?

Barbara Streisand
Barbara Streisand原創
2024-11-05 01:40:01795瀏覽

How do I add an extra column to a NumPy array using `np.c_[...]`?

為 NumPy 陣列新增額外的欄位

NumPy 是 Python 中強大的科學計算庫,提供了一系列操作方法多維資料。其中包括向數組添加額外列的任務。讓我們探索如何使用專門的 NumPy 函數來實現這一點,這些函數提供了一種方便有效的方法來擴展數組的維度。

使用np.r_[...] 和np.c_[.. .]

要將額外的列,兩個有用的NumPy函數是np.r_[...] (用於新增行)和np.c_[...] (用於新增列)。與 np.vstack 和 np.hstack 不同,這些函數使用方括號 [] 而不是圓括號 ()。

考慮以下2D 陣列:

<code class="python">import numpy as np

a = np.array([
    [1, 2, 3],
    [2, 3, 4],
])</code>

增加一列零第二個軸,使用np.c_[...]:

<code class="python">b = np.c_[a, np.zeros(a.shape[0])]</code>

這會產生所需的輸出:

<code class="python">b = np.array([
    [1, 2, 3, 0],
    [2, 3, 4, 0],
])</code>

其他範例

np.r_[...] 和np.c_[...] 提供了新增行/列的多功能性。以下是一些進一步的例子:

<code class="python">N = 3
A = np.eye(N)

# Add a column
np.c_[A, np.ones(N)]

# Add two columns
np.c_[np.ones(N), A, np.ones(N)]

# Add a row
np.r_[A, [A[1]]]

# Mix vectors and scalars
np.r_[A[0], 1, 2, 3, A[1]]

# Use lists or tuples
np.r_[A[0], [1, 2, 3], A[1]]
np.r_[A[0], (1, 2, 3), A[1]]

# Use Python slice syntax
np.r_[A[0], 1:4, A[1]]</code>

理解方括號與圓括號

值得注意的是np.r_[...] 和np.r_ [...] 。 c_[...] 使用方括號,而 np.vstack 和 np.hstack 使用圓括號。這是因為在方括號內使用時,Python 將 1:4 解釋為切片物件。此切片物件代表值 1、2 和 3,然後將其新增至陣列中。

以上是如何使用「np.c_[...]」為 NumPy 陣列新增額外的欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn