• Numpy基础学习(三)


    数组的索引

    import numpy as np
    
    # # 创建一个一维数组
    # arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
    # print('arr:\n', arr)
    #
    # # 获取arr中的单个元素 ---下标
    # print('获取arr中的3元素:', arr[2])
    # print('获取arr中的7元素:', arr[-2])
    # # 注意:使用下标,会造成维度降低
    #
    # # 获取arr中的单个元素 --切片
    # print('获取arr中的3元素:', arr[2:3])
    # print('获取arr中的7元素:', arr[-2:-1])
    # # 注意:使用切片不会造成维度降低
    #
    # # 获取arr中的多个元素 ---切片
    # print('获取arr中的 3和7元素:', arr[2:-1:4])
    # print('获取arr中的 3和5和7元素:', arr[2:-1:2])
    # # 注意:切片获取元素,必须下标有规律可循,如果无规律,则不能使用切片
    # # 获取arr中的多个元素 ---下标列表
    # print('获取arr中的 3和 7和 8元素:', arr[[2, -2, -1]])
    # # 注意:使用下标列表--->可以理解为分别获取对应下标位置的结果,将对应的结果组合起来
    
    # 创建一个二维数组
    arr = np.arange(1, 17).reshape((4, 4))
    print('arr:\n', arr)
    
    # # 如何索引元素? ---下标、切片
    # # 获取arr中的单个元素 --下标
    # print('获取arr的6元素:', arr[1, 1])
    # print('获取arr中的15元素:', arr[3, 2])
    #
    # print('获取arr的6元素:', arr[1, 1:2])
    # print('获取arr中的15元素:', arr[3, 2:3])
    #
    # print('获取arr的6元素:', arr[1:2, 1:2])
    # print('获取arr中的15元素:', arr[3:, 2:3])
    #
    # # 获取arr中的多个元素
    # print('获取arr中的6 7 10 11四个元素:\n', arr[1:3, 1:3])
    # print('获取arr中的11 12 15 16四个元素:\n', arr[-2:, -2:])
    #
    # print('获取arr中的5  6  11 16四个元素:\n', arr[[1, 1, 2, 3], [0, 1, 2, -1]])
    
    # 如果数组为3维数组
    # arr[块维度索引,行维度索引,列维度索引]
    
    # 如果数组为n维数组
    # arr[n-1个逗号],在各个维度上进行索引
    
    # 注意:利用bool数组索引方式
    # 创建一个bool数组
    # mask = np.array([0, 1, 0, 1], dtype=np.bool)
    # print('mask:\n', mask)
    
    # 利用bool数组索引arr  ----保留True的,干掉False的
    # 注意:bool数组长度必须和索引维度的长度相同,否则报错。
    # print('bool数组索引:\n', arr[mask, :])
    # print('bool数组索引:\n', arr[:, mask])
    # print('bool数组索引:\n', arr[mask, mask])
    
    
    # 思考:还可以这么索引---高维度的数组由低维度数组组合而成的
    # 获取7元素
    # print('获取arr中的7元素:', arr[1][2])
    
    

    数组的展开

    import numpy as np
    
    # 创建一个二维数组
    arr = np.arange(16).reshape((4, 4))
    print('arr:\n', arr)
    print('*' * 100)
    
    # 将二维数组展开
    # (1) shape属性重新赋值
    # arr.shape = (-1,)  # -1是占位作用
    # print('arr:\n', arr)
    # (2)reshape
    # arr = arr.reshape((-1,))
    # print('arr:\n', arr)
    # (3) np.flatten
    # Return a copy of the array collapsed into one dimension.
    # arr = arr.flatten(order='C')
    # print('arr:\n', arr)
    
    # (4)np.ravel
    # 返回数组的视图
    # arr1 = np.ravel(arr,order='F')
    # print('arr1:\n', arr1)
    
    
    
    
  • 相关阅读:
    命令行打开无线网络设置
    WebView2 的使用记录
    QT-Mac:在Mac下实现QT程序的打包及公证
    QT:CEF实现js函数与C++函数的异步调用
    QT-Mac:QT Creator 中QT Versions显示无效的QT版本的解决办法
    QT-Mac: Undefined symbols for architecture x86_64
    全局键盘钩子失效与WebRTC的关系分析
    第十二届蓝桥杯决赛 大学 B 组 C/C++ 做题记录
    Luogu P2671 求和 | 数学奇偶性&前缀和
    2021铁三决赛 PWN cardstore | 格式化字符串 & ret2libc
  • 原文地址:https://www.cnblogs.com/duxiangjie/p/15748037.html
Copyright © 2020-2023  润新知