zoukankan      html  css  js  c++  java
  • 【数据分析&数据挖掘】数组的索引

     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])
  • 相关阅读:
    asp.net 验证正则表达式
    c语言编程题
    使用Code First创建数据模型
    c语言知识点
    rabbitmq 简单应用
    influxdb(二)
    influxdb(一)
    K8S 日志收集(六):kibana 安装
    K8S 日志收集(五):head插件安装
    K8S 日志收集(四):logstash 安装
  • 原文地址:https://www.cnblogs.com/Tree0108/p/12115487.html
Copyright © 2011-2022 走看看