1、单条件
m=np.array([
[1,2,3],
[10,20,30],
[35,45,55]
])
n=(m==20)
print(n)
输出
[[False False False]
[False True False]
[False False False]]
col2=(m[:,1]==20)
print(col2)
输出
[False True False]
print(m[col2,:])
输出true值的那一行数据
[[10 20 30]]
vector=np.array([5,10,15,20])
ten_or_five=(vector==10)|(vector==5)
print(ten_or_five)
输出
[ True True False False]
用布尔值替代数组中的值 (1) 例1
vector[ten_or_five]=50
print(vector)
输出
[50 50 15 20]
(2) 例2
import numpy as np
m=np.array([
[1,2,3],
[10,20,30],
[35,45,55]
])
column2=m[:,1]==20
print(column2)
输出
[False True False]
m[column2,1]=100
print(m)
输出
[[ 1 2 3]
[ 10 100 30]
[ 35 45 55]]
(3) 替换空值
import numpy as np
m=np.array([
['','2','3'],
['10','20','30'],
['35','45','']
])
col=(m=='')
print(col)
输出
[[ True False False]
[False False False]
[False False True]]
print(col[:,0])
输出
[ True False False]
m[col[:,0],0]='0'
print(m)
输出
[['0' '2' '3']
['10' '20' '30']
['35' '45' '']]
print(col[:,2])
输出
[False False True]
m[col[:,2],2]='0'
print(m)
输出
[['0' '2' '3']
['10' '20' '30']
['35' '45' '0']]