Python中numpy库下的操作(2)

Python中numpy库下的操作(2)

昨天介绍了一些numpy下的一些操作,今天我来将下面的一些基础知识完善一下

#这里补充一下下载numpy包的代码
pip install numpy#在命令行下输入即可
import numpy as np#导入numpy的包

首先是花式索引,这里强调一点,花式索引和切片是有区别的
切片是在原来数组的基础上进行修改
花式索引是复制一个新的数组
这就是区别
下面我们看一下代码

arr=np.arange(32).reshape((8,4))
arr1=arr[[1,2,3,4],[0,1,2,3]]
#print(arr1)#别让数组越界
#print(arr[[1,5,7,2]][:,[0,3,1,2]])#花式索引和切片不一样,它总是将数据复制到心得数组中

arr[[1,5,7,2]][:,[0,3,1,2]]=15
#arr[1:3,0:4]=15
print(arr)

Python中numpy库下的操作(2)_第1张图片

上述运行结果自己去验证,下面我来说一下bool类型的索引

names = np.array(['Bob','Joe','a','b','c'])

print(names=='Bob')
arr1=np.arange(5)
print(arr1[names=='Bob'])#布尔型的长度一定要对,不然会报错

Python中numpy库下的操作(2)_第2张图片

思维发散一下,我们会延伸出其他的方法来对数组进行操作

arr1=np.arange(32)
print(arr1[arr1>15])#大于15的数组
print(arr1[(arr1<14)|(arr1>15)])#大于15或者小于14的数组
print(arr1[(arr1>15)&(arr1<30)])#大于15并且小于30的数组
arr1[(arr1>15)&(arr1<30)]=3#把大于15并且小于30的数全赋值
print(arr1)

Python中numpy库下的操作(2)_第3张图片

具体一些常用的操作就是这些了,剩下的以后再更新

你可能感兴趣的:(Python中numpy库下的操作(2))