假设我有以下内容:
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()
,但我无法弄清楚如何改变阵列。
答案 0 :(得分:17)
您可以使用Numpy's slicing and indexing来实现此目的。获取第三列为3
的所有行,并将每行的第二列更改为9
:
>>> data[data[:, 2] == 3, 1] = 9
>>> data
array([[1, 9, 3],
[1, 9, 3],
[1, 9, 3],
[4, 5, 6]])