簡體   English   中英

修改 NumPy 數組的特定行/列

[英]Modify a particular row/column of a NumPy array

如何修改 NumPy 數組的特定行或列?

例如,我有一個 NumPy 數組,如下所示:

P = array([[1, 2, 3],
           [4, 5, 6]])

如何將第一行的元素[1, 2, 3]更改為[7, 8, 9]以便P變為:

P = array([[7, 8, 9],
           [4, 5, 6]])

同樣,如何將第二列值[2, 5]更改為[7, 8]

P = array([[1, 7, 3],
           [4, 8, 6]])

可以使用 Python 中的方括號索引符號選擇或修改 NumPy 數組的行和列。

要在二維數組中選擇一行,請使用P[i] 例如, P[0]將返回P的第一行。

要選擇,請使用P[:, i] :本質上的意思是“選擇所有行”。 例如, P[:, 1]將從P的第二列中選擇所有行。

如果要更改數組的行或列的值,可以將其分配給相同長度的新值列表(或數組)。

要更改第一行中的值,請編寫:

>>> P[0] = [7, 8, 9]
>>> P
array([[7, 8, 9],
       [4, 5, 6]])

要更改第二列中的值,請編寫:

>>> P[:, 1] = [7, 8]
>>> P
array([[1, 7, 3],
       [4, 8, 6]])

以類似的方式,如果您只想選擇最后兩列,但您可以使用所有行:

print P[:,1:3]

如果一列中有很多元素:

import numpy as np
np_mat = np.array([[1, 2, 2],
                   [3, 4, 5],
                   [5, 6, 5]])
np_mat[:,2] = np_mat[:,2] * 3
print(np_mat)

它在第三列中進行了乘以 3 的更改:

    [[ 1  2  6]
     [ 3  4 15]
     [ 5  6 15]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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