• 【数据分析&数据挖掘】数组的索引


     1 import numpy as np
     2 
     3 # 创建一个一位数组
     4 arr = np.arange(9)
     5 print("arr:
    ", 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:
    ", 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("获取切片获取多个元素的结果: 
    ", arr[1:3, 1:3])  # 不降维
    34 print("使用下标和切片获取多个元素的结果: 
    ", arr[[1, 2], 1:3])  # 不降维
    35 
    36 # 特殊情况!!
    37 print("使用下标和切片获取多个元素的结果: 
    ", arr[[1, 2], [1, 3]])  # [ 6 12]
    38 # print("使用下标和切片获取多个元素的结果: 
    ", 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:
    ", 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:
    ", bool_mask)
    54 print("bool_mask:
    ", bool_mask1)
    55 
    56 # 选择True的行,丢掉False的行
    57 print("利用bool数组来进行切片:
    ", arr[bool_mask, :])
    58 # print("利用bool数组来进行切片:
    ", arr[bool_mask1, :])  # 错误,bool数组的长度必须与行或列相同
    59 # 选择True的列,丢掉False的列
    60 print("利用bool数组来进行切片:
    ", arr[:, bool_mask])
    61 # 行列都使用bool数组
    62 print("利用bool数组来进行切片:
    ", arr[bool_mask, bool_mask])
  • 相关阅读:
    vue父组件促发子组件中的方法
    油猴脚本:油猴脚本自动点击 | 自动检测元素并点击、休眠、顺序执行、单页面也适用
    油猴脚本:使用layer.js mobx lodash jquery
    vue项目统计src目录下代码行数
    常用mobx响应新值变化函数autorun和observe
    uni app使用mobx | uni app状态管理mobx
    File and Code Templates | webstorm代码文件模板 vue typescript
    javascript立即执行函数简单介绍
    VSCode 安装GitLens插件不生效问题
    常用的浅拷贝实现方法
  • 原文地址:https://www.cnblogs.com/Tree0108/p/12115487.html
Copyright © 2020-2023  润新知