Bar*_*ssa 8 python arrays numpy
假设我有以下内容:
import numpy as np
data = np.array([
[1,2,3],
[1,2,3],
[1,2,3],
[4,5,6],
])
Run Code Online (Sandbox Code Playgroud)
我如何根据第2列中的值更改第3列中的值?例如,如果第3列== 3,则第2列= 9.
[[1,9,3],
[1,9,3],
[1,9,3],
[4,5,6]]
Run Code Online (Sandbox Code Playgroud)
我看过了np.any(),但我无法弄清楚如何改变阵列.
mdm*_*dml 17
您可以使用Numpy的切片和索引来实现此目的.获取第三列所在的所有行3,并将每个行的第二列更改为9:
>>> data[data[:, 2] == 3, 1] = 9
>>> data
array([[1, 9, 3],
[1, 9, 3],
[1, 9, 3],
[4, 5, 6]])
Run Code Online (Sandbox Code Playgroud)