1.操作数组(索引与切片)
#操作数组(索引与切片)
z=np.array(24).reshape((4,6)) #创建4*6数组
aa=z[1] #索引行
ab=z[0,1] #索引第1行与第2列,起始数字为0
ac=z[1:3] #行切片
ad=z[1:3,2:4]# 行列切片
#多维度数组切片
ae=np.array(24).reshape((2,3,4))
af=[0,2,2] # 0第一个数组,2第三行,2第3列
2.花式索引
#花式索引
ag=np.array(32).reshape(8,4)
ah=ag[[2,4,6]]#直接单独提出行2第3行,4第5列,6第7行
ai=ag[np.ix_([0,3,5],[0,2,3])]
3.布尔值索引
#布尔值索引
A=ag>10#先做判断
ag[A] #把判断放入索引,布尔索引数据输出是TRUE
布尔值索引练习
#布尔值索引练习
import numpy as np
names=np.array(['joe','tom','anne'])
scores=np.array([
[70,80,90],
[77,88,91],
[80,90,70]
])
classes=np.array(['语文','数学','英语'])
1输出joe的成绩
a=scores[names=='joe']
print(a)
2输出joe的数学成绩
a=scores[names=='joe'][0][classes=='数学']
print(a)
3输出joe和anne的成绩
a=scores[(names=='joe')|(names=='anne')]#joe和anne的成绩
print(a)
4输出非joe和anne的成绩
a=scores[(names!='joe')&(names!='anne')]#joe和anne的成绩
print(a)