WHCSRL 技术网

numpy学习笔记03—对数组使用索引查询_weixin

一、基础索引和切片

  1. import numpy as np
  2. a = np.array([[0,1,2,3,4],
  3. [5,6,7,8,9],
  4. [10,11,12,13,14],
  5. [15,16,17,18,19]])
  6. print(a)
  7. print(a[0,0])#0行0列
  8. print(a[2])#2行所有列
  9. print(a[0:2,2:4])#取0、1行,2、3列

二、布尔索引

  1. import numpy as np
  2. a = np.array([[0,1,2,3,4],
  3. [5,6,7,8,9],
  4. [10,11,12,13,14],
  5. [15,16,17,18,19]])
  6. # 设定筛选规则
  7. b = a>10
  8. print(b)
  9. print('*'*30)
  10. print(a[b])

输出结果:

 

  1. import numpy as np
  2. a = np.array([[0,1,2,3,4],
  3. [5,6,7,8,9],
  4. [10,11,12,13,14],
  5. [15,16,17,18,19]])
  6. # 设定筛选规则
  7. b = a[:,3]>5
  8. #打印规则,结果为布尔类型
  9. print(b)
  10. print('*'*30)
  11. # 符合筛选规则的数据加30,注意先定位数据(a[:,3])再执行筛选规则(a[:,3][b])
  12. a[:,3][b]+=30
  13. print(a[:,3][b])

三、神奇索引

  1. import numpy as np
  2. a = np.array([[0,1,2,3,4],
  3. [5,6,7,8,9],
  4. [10,11,12,13,14],
  5. [15,16,17,18,19]])
  6. # 打印第二、三行
  7. print(a[[2,3]])
  8. print('#'*30)
  9. # 打印第[2,3]、[3,4]个元素
  10. print(a[[2,3],[3,4]])

 

推荐阅读