numpy数组的布尔索引和数组索引和[::]的用法

先创建一个names一维数组,再用numpy.random中的randn函数生成一个7*4数组:

>>names=np.array(["Bob","Joe","Will","Bob","Will","Joe","Joe"])
>>data=np.random.randn(7,4)

1.对names和字符串“Bob”的比较运算将会产生一个布尔型数组:

>>> names=="Bob"
array([ True, False, False,  True, False, False, False], dtype=bool) 得到该数组用于下面索引的实验

2.将这个布尔型数组用于数组索引:

>>> data[names=="Bob"]
array([[ 0.10298484, -0.25113445, -0.78464202, -0.54631363],
       [ 0.28620158,  0.1481723 , -1.27040048,  0.29133364]])

取data数组的第1、4行

3.将布尔型数组跟切片混合使用:

>>> data[names=="Bob",2:]
array([[-0.78464202, -0.54631363],
       [-1.27040048,  0.29133364]])

取data的第1、4行,并且只取第3列及之后列的元素

注:得到上面的结果要知道数组索引,参考其他资料

4. numpy数组中对于step的用法,有以下特殊情况:

L[::5]表示从第0个数开始,所有数,每5个取一个(这个切片操作把start_index和end_index均省略了)

L[::-1]表示翻转整个数组

L[:]表示复制整个数组

5.切片中省略号的用法:

>>>b[0,:,:]

多个冒号可以用一个省略号(...)来代替,因此上面的代码等价于:

>>>b[0,...]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值