• Numpy学习数组的合并与拆分


    数组的合并

    import numpy as np
    
    # 创建数组
    arr1 = np.array([[1, 2], [3, 4]])
    arr2 = np.ones((2, 2), dtype=np.int32)
    print('arr1:\n', arr1)
    print('arr2:\n', arr2)
    print('*' * 100)
    
    # 数组合并
    # 向右合并----水平方向
    # res = np.hstack((arr1, arr2))
    # print('res:\n', res)
    
    # 向下合并----垂直方向
    # res = np.vstack((arr1, arr2))
    # print('res:\n', res)
    
    # np.concatenate进行合并
    # 注意:如果使用np.concatenate进行合并,必须保证所有的数组维度都是一样
    # 参数1:要拼接的数组元组
    # 参数axis: 在二维数组中,axis=0,代表行的方向;axis=1代表列的方向
    res = np.concatenate((arr1, arr2), axis=0)
    # res = np.concatenate((arr1, arr2), axis=1)
    print('res:\n',res)
    

    方向图解

    数组的拆分

    import numpy as np
    
    # 创建数组
    arr = np.arange(16).reshape((4, 4))
    print('arr:\n', arr)
    
    # 数组拆分
    # 水平拆分------>将水平方向进行打断拆分
    # 参数1:需要拆分的数组
    # 参数2:拆分的份数,拆分的时候,必须能够进行平均拆分
    # res = np.hsplit(arr, 2)
    # print('res:\n',res)
    
    # 垂直拆分 ---将垂直方向进行打断拆分
    # res = np.vsplit(arr, 4)
    # print('res:\n',res)
    
    # 此时参数2:
    # --->第一部分---:1
    # --->第二部分---1:2
    # --->第三部分----2:3
    # --->第四部分----3:
    # res = np.vsplit(arr, [1, 2, 3])
    # res = np.vsplit(arr, [1, 3])
    # print('res:\n', res)
    
    # split
    # 行的方向拆分 ---->将行的方向打断为拆分
    # res = np.split(arr, 2, axis=0)
    # 列的方向拆分----->将列的方向进行打断拆分
    # res = np.split(arr, 2, axis=1)
    # res = np.split(arr, [1, 3], axis=1)
    # print('res:\n', res)
    
    # 注意:拆分的时候,有限制
    # 拆分条件 ---前n列为一部分,最后一列为一部分
    # res = np.split(arr, [-1], axis=1)
    # print('res:\n', res)
    
    # 索引方式
    res1 = arr[:, :-1]
    res2 = arr[:, -1:]
    print('res1:\n', res1)
    print('res2:\n', res2)
    
    
  • 相关阅读:
    Redis杂谈
    General mistakes in parallel computing
    life of a NPTL pthread
    casting in C++
    function calling convention
    How exception works ?
    How `delete’ works ?
    How `new’ operator works ?
    老白的JAVA课程17 集合
    老白的JAVA课程16 卡片布局 javaBean
  • 原文地址:https://www.cnblogs.com/duxiangjie/p/15749124.html
Copyright © 2020-2023  润新知