Python : numpy布尔型索引

本文介绍了布尔型数组在NumPy中的应用。通过布尔型索引选取数组数据会创建副本,布尔型数组可用于数组索引,其长度需与被索引轴一致。还讲解了布尔型数组与切片、整数混合使用,用~操作符反转布尔条件,组合多个布尔条件,以及通过布尔型数组设置值等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

“”"
布尔型索引
通过布尔型索引选取数组中的数据,将总是创建数据的副本,即使返回一模一样的数组也是如此
“”"
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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值