python如何对数组内的元素进行条件运算?

python里面数组运算numpy是首选, C的运算效率, 下面是个简单例子
>>import numpy as np
>>arr = np.random.rand(5,5) # 5x5的随机数组
>>arr
array([[ 0.36401504,  0.87729325,  0.53453396,  0.5031851 ,  0.90744627],
       [ 0.44607108,  0.22673265,  0.77539262,  0.84064101,  0.41774629],
       [ 0.91686641,  0.71480639,  0.09617148,  0.41535823,  0.4175782 ],
       [ 0.25753864,  0.73196495,  0.43557823,  0.97497112,  0.54451645],
       [ 0.58167148,  0.50382906,  0.88490307,  0.77238085,  0.17427672]])
>>mask = arr>0.5 # 选取数组中元素大于0.5的元素的bool数组
>>mask
array([[False,  True,  True,  True,  True],
       [False, False,  True,  True, False],
       [ True,  True, False, False, False],
       [False,  True, False,  True,  True],
       [ True,  True,  True,  True, False]], dtype=bool)
>>arr[mask] = 0 # 将数组中大于0.5的值设为0
>>arr
array([[ 0.36401504,  0.        ,  0.        ,  0.        ,  0.        ],
       [ 0.44607108,  0.22673265,  0.        ,  0.        ,  0.41774629],
       [ 0.        ,  0.        ,  0.09617148,  0.41535823,  0.4175782 ],
       [ 0.25753864,  0.        ,  0.43557823,  0.        ,  0.        ],
       [ 0.        ,  0.        ,  0.        ,  0.        ,  0.17427672]])
  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值