numpy:数组比较

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]]

2、多条件

vector=np.array([5,10,15,20])
ten_or_five=(vector==10)|(vector==5)
print(ten_or_five)

输出

[ True  True False False]

3、条件替代值

用布尔值替代数组中的值
(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']]
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值