Python : numpy布尔型索引

“”"
布尔型索引
通过布尔型索引选取数组中的数据,将总是创建数据的副本,即使返回一模一样的数组也是如此
“”"
import numpy as np
names = np.array([“A”,“B”,“C”,“A”])
print(names==“A”)
“”"
布尔型数组可用于数组索引
注意:布尔型数组的长度必须跟被索引的轴长度一致
“”"
arr = np.random.rand(4,3)
print(arr)
print()
print(arr[names==“A”]) # [ True False False True] 进行切片
print("*"*36)

布尔型数组跟切片、整数混合使用

print(arr[names==“A”,:2])

~ 操作符用来反转布尔条件很好用

fnames = names == “A”
print(arr[~fnames]) # ~ 反转布尔条件,即原来的 [ True False False True],变成[False True True False]
print("-"*40)
“”"
组合应用多个布尔条件,使用&(和)、|(或)的布尔算术运算符
注意:组合条件要用括号括起来
注意:Python关键字and和or在布尔型数组中无效。要使用&与|
“”"
print(arr[(names==“A”)|(names==“B”)]) # [ True True False True]
print("-"*40)
“”"
通过布尔型数组设置值
“”"
arr1 = np.array([[-2,-1,-3],[-2,0,2],[1,3,5]])
print(arr1)
arr1[arr1<0] = 0
print(arr1)
print()
tags = np.array([True,False,True])
print(arr1[tags])
print()
arr1[tags] = 0 # 满足[True,False,True],为0
print(arr1)

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值