簡體   English   中英

如何根據另一列替換numpy數組中的值?

[英]How to replace values in a numpy array based on another column?

假設我有以下內容:

import numpy as np

data = np.array([
     [1,2,3],
     [1,2,3],
     [1,2,3],
     [4,5,6],         
     ])

我如何根據第2列中的值更改第3列中的值? 例如,如果第3列== 3,則第2列= 9。

[[1,9,3],
 [1,9,3],
 [1,9,3],
 [4,5,6]]

我看過np.any() ,但我無法弄清楚如何改變陣列。

您可以使用Numpy的切片和索引來實現此目的。 獲取第三列為3所有行,並將每行的第二列更改為9

>>> data[data[:, 2] == 3, 1] = 9
>>> data
array([[1, 9, 3],
       [1, 9, 3],
       [1, 9, 3],
       [4, 5, 6]])

暫無
暫無

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

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