Numpy数组值替换问题
import numpy as nparr1 = np.arange(1,21).reshape(4,5)
print(arr1[:,3])# 所有行,第3列
筛选 = arr1[:,3] > 5# 所有行第3列,大于5的
arr1[筛选>5] = 520
print(arr1)
我想把数组第3列大于5个数替换成520
但是无论怎么做都是把整个数组的值中大于5的替换成520了
请问大神怎么做 谢谢
这样即可:
import numpy as np
arr1 = np.arange(1,21).reshape(4,5)
print(arr1[:,3])# 所有行,第3列
筛选 = arr1[:,3]>5# 所有行第3列,大于5的
arr1[:,3][筛选] = 520
print(arr1) >>> arr1
array([[ 1,2,3,4,5],
[ 6,7,8,9, 10],
,
])
>>> b=arr1[:,3]
>>> b=520
>>> arr1
array([,
,
[ 11,12,13, 520,15],
[ 16,17,18, 520,20]])
>>>
页:
[1]