jjxx2005 发表于 2020-6-20 12:31:52

Numpy数组值替换问题

import numpy as np
arr1 = 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了

请问大神怎么做 谢谢

Twilight6 发表于 2020-6-20 12:48:50


这样即可:

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)

塔利班 发表于 2020-6-20 12:51:26

>>> 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]
查看完整版本: Numpy数组值替换问题