Numpy的布尔索引

这篇博客介绍了如何在Numpy数组中使用布尔索引来选取特定数据。通过比较操作,如`names == 'Bob'`,可以创建布尔值数组,然后用于索引数组以选择对应的数据行。布尔索引可以与其他操作结合,如切片、整数值,甚至可以进行条件取反(使用`!=`或`~`)和逻辑运算(使用`&`和`|`)。布尔索引总是返回数据的拷贝,而不是视图。此外,展示了如何根据布尔条件设置数组元素的值,例如将负值设为0。
摘要由CSDN通过智能技术生成

假设我们的数据都在数组中,并且数组中的数据是一些存在重复的人名。我们先使用numpy.random中的randn函数来生成一些随机正态分布的数据:

import numpy as np
names = np.array(['Bob','Joe','Will','Bob','Will','Joe','Joe'])
data = np.random.randn(7,4)

names
array(['Bob', 'Joe', 'Will', 'Bob', 'Will', 'Joe', 'Joe'], dtype='<U4')

data
array([[-0.24427644, -1.46367872, -0.49068242,  1.78822424],
       [-0.86311703,  0.51422326,  0.56743326,  0.8871636 ],
       [-0.5866742 ,  0.73856216,  0.38637554,  0.30568998],
       [ 0.57535788,  1.30374594, -2.05887936, -0.22818597],
       [ 2.35235075,  0.68025456,  1.00348864,  0.32746915],
       [ 0.42857695, -0.16228046,  1.27368772, -0.648772  ],
       [ 0.00398702,  0.72742387, -0.79640429, -0.93247884]])

假设每个人名都和data数组中的一行相对应,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

格陵Lan丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值