标签:维数 必须 numpy 三维 als 获取 维度 挖掘 type
1 import numpy as np 2 3 # 创建一个一位数组 4 arr = np.arange(9) 5 print("arr:\n", arr) 6 # 可以通过下标来获取指定元素 7 print("获取元素", arr[3]) # 降低维度 8 print("获取元素", arr[7]) # 降低维度 9 print("获取元素", arr[[1, 2, 3, 4, 5, 6, 7, ]]) 10 print("获取元素", arr[[1, 3, 5, 7]]) 11 12 # 通过切片来获取元素 13 print("切片获取元素:", arr[2:3]) 14 print("切片获取元素:", arr[1:6:2]) 15 16 # 创建一个二维数组 17 arr = np.arange(1, 17).reshape((4, 4)) 18 print("arr:\n", arr) 19 print("arr的维度:", arr.ndim) 20 21 # 二维数组的索引的时候,使用下标会降低维度,用一次下标降低一个维度 22 # 使用下标获取二维数组中的元素 23 # arr[行,列] 24 print("获取到的元素:", arr[0,1]) # 由二维降到零维 25 # 使用切片来获取元素 26 print("获取切片获取到的元素:", arr[0:1, 1:2]) # 保持二维 27 # 使用下标和切片配合获取元素 28 print("使用下标和切片获取到的元素:", arr[0,1:2]) # 由二维降到一维 29 30 print("~" * 60) 31 32 # 二维数组获取多个元素,不降维 33 print("获取切片获取多个元素的结果: \n", arr[1:3, 1:3]) # 不降维 34 print("使用下标和切片获取多个元素的结果: \n", arr[[1, 2], 1:3]) # 不降维 35 36 # 特殊情况!! 37 print("使用下标和切片获取多个元素的结果: \n", arr[[1, 2], [1, 3]]) # [ 6 12] 38 # print("使用下标和切片获取多个元素的结果: \n", arr[[1, 2, 3], [1, 3]]) # 错误,前后的下标列表必须一致 39 40 """ 41 三维 arr --> 怎么索引元素? arr[块,行,列] 42 四维 arr --> 怎么索引元素? arr[堆,块,行,列] 43 N 维 arr --> 怎么索引元素? arr[n-1个逗号] 44 """ 45 46 # 创建一个数组 47 arr = np.arange(1, 10).reshape((3, 3)) 48 print("arr:\n", arr) 49 print("arr的维度:", arr.ndim) 50 51 bool_mask = np.array([0, 1, 2], dtype=np.bool) 52 bool_mask1 = np.array([0, 1, 2, 3], dtype=np.bool) 53 print("bool_mask:\n", bool_mask) 54 print("bool_mask:\n", bool_mask1) 55 56 # 选择True的行,丢掉False的行 57 print("利用bool数组来进行切片:\n", arr[bool_mask, :]) 58 # print("利用bool数组来进行切片:\n", arr[bool_mask1, :]) # 错误,bool数组的长度必须与行或列相同 59 # 选择True的列,丢掉False的列 60 print("利用bool数组来进行切片:\n", arr[:, bool_mask]) 61 # 行列都使用bool数组 62 print("利用bool数组来进行切片:\n", arr[bool_mask, bool_mask])
标签:维数 必须 numpy 三维 als 获取 维度 挖掘 type
原文地址:https://www.cnblogs.com/Tree0108/p/12115487.html