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)
上述运行结果自己去验证,下面我来说一下bool类型的索引
names = np.array(['Bob','Joe','a','b','c'])
print(names=='Bob')
arr1=np.arange(5)
print(arr1[names=='Bob'])#布尔型的长度一定要对,不然会报错
思维发散一下,我们会延伸出其他的方法来对数组进行操作
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)
具体一些常用的操作就是这些了,剩下的以后再更新