numpy:数组的索引

核能气质少年 提交于 2019-12-04 05:34:29

  先将模块导入文件中

import numpy as np

  创建一个数组

arr = np.arange(1, 10)

1、使用单独的下标索引

print("获取元素", arr[2])

  使用单独的下标索引将会降低数组的维度

2、使用下标列表索引

print("获取元素", arr[[1, 3, 5, 7]])

  使用下标列表索引,不会降低维度

3、使用切片进行索引

print("切片获取元素:", arr[2:3])

  使用切片进行索引,不会降低维度

4、二维数组的索引以及混合索引

  创建一个二维数组

arr = np.arange(1, 17).reshape((4, 4))

(1)使用下标索引

print("获取到的元素:", arr[0, 1])

  arr[行,]使用一次下标,将会降低一次索引

(2)使用切片索引

print("使用切片获取到的元素:", arr[0:1, 1:2])

(3)使用下标列表索引

print("使用下标列表来获取多个元素:\n", arr[[1, 2], [1, 2]])
print("使用下标列表来获取多个元素:\n", arr[[1, 2, 3], [1, 2]])  # 错误的,前后的下标列表必须一致

  使用下标列表对二维数组进行索引,将获取下标列表对角线两端的元素组成的数组;行列表和列列表元素个数需要一致

(4)使用下标和切片混合索引

print("使用下标和切片获取到的元素:", arr[0, 1:2])

(5)使用下标和下标列表混合索引

print("使用下标和下标列表获取多个元素的结果:\n", arr[1, [1, 2, 3])

(6)使用下标列表和切片混合索引

print("使用下标和切片获取多个元素的结果:\n", arr[[1, 2], 1:3])

5、多维数组的索引

"""
三维 arr ---> 怎么索引元素??arr[块,行,列]
四维 arr ---> 怎么索引元素??arr[堆,块,行,列]
N维 arr ----> 怎么索引元素?? arr[n-1个逗号],每一个逗号都是切的对应维度
"""

6、使用bool数组索引

# 创建一个数组
arr = np.arange(1, 10).reshape((3, 3))
bool_mask = np.array([0, 1, 2], dtype=np.bool)
print("bool_mask:\n", bool_mask)
# 利用bool数组来进行切片 --- 选择True,丢掉False
print("利用bool数组来进行切片:\n", arr[bool_mask, :])
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!