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