• 数据可视化基础专题(44):NUMPY基础(9)数组操作(1)修改数组形状/翻转数组


    1 修改数组形状

    函数描述
    reshape 不改变数据的条件下修改形状
    flat 数组元素迭代器
    flatten 返回一份数组拷贝,对拷贝所做的修改不会影响原始数组
    ravel 返回展开数组

    numpy.reshape

    numpy.reshape 函数可以在不改变数据的条件下修改形状,格式如下: numpy.reshape(arr, newshape, order='C')

    • arr:要修改形状的数组
    • newshape:整数或者整数数组,新的形状应当兼容原有形状
    • order:'C' -- 按行,'F' -- 按列,'A' -- 原顺序,'k' -- 元素在内存中的出现顺序。

    numpy.ndarray.flat

    numpy.ndarray.flat 是一个数组元素迭代器,实例如下:

    numpy.ndarray.flatten

    numpy.ndarray.flatten 返回一份数组拷贝,对拷贝所做的修改不会影响原始数组,格式如下:

    ndarray.flatten(order='C')

    参数说明:

    • order:'C' -- 按行,'F' -- 按列,'A' -- 原顺序,'K' -- 元素在内存中的出现顺序。

    numpy.ravel

    numpy.ravel() 展平的数组元素,顺序通常是"C风格",返回的是数组视图(view,有点类似 C/C++引用reference的意味),修改会影响原始数组。

    该函数接收两个参数:

    numpy.ravel(a, order='C')

    参数说明:

    • order:'C' -- 按行,'F' -- 按列,'A' -- 原顺序,'K' -- 元素在内存中的出现顺序。

    2 翻转数组

    函数描述
    transpose 对换数组的维度
    ndarray.T 和 self.transpose() 相同
    rollaxis 向后滚动指定的轴
    swapaxes 对换数组的两个轴

    numpy.transpose

    numpy.transpose 函数用于对换数组的维度,格式如下:

    numpy.transpose(arr, axes)

    参数说明:

    • arr:要操作的数组
    • axes:整数列表,对应维度,通常所有维度都会对换。

     

    numpy.rollaxis

    numpy.rollaxis 函数向后滚动特定的轴到一个特定位置,格式如下:

    numpy.rollaxis(arr, axis, start)

    参数说明:

    • arr:数组
    • axis:要向后滚动的轴,其它轴的相对位置不会改变
    • start:默认为零,表示完整的滚动。会滚动到特定位置。
    import numpy as np
     
    # 创建了三维的 ndarray
    a = np.arange(8).reshape(2,2,2)
     
    print ('原数组:')
    print (a)
    print ('获取数组中一个值:')
    print(np.where(a==6))   
    print(a[1,1,0])  # 为 6
    print ('
    ')
     
     
    # 将轴 2 滚动到轴 0(宽度到深度)
     
    print ('调用 rollaxis 函数:')
    b = np.rollaxis(a,2,0)
    print (b)
    # 查看元素 a[1,1,0],即 6 的坐标,变成 [0, 1, 1]
    # 最后一个 0 移动到最前面
    print(np.where(b==6))   
    print ('
    ')
     
    # 将轴 2 滚动到轴 1:(宽度到高度)
     
    print ('调用 rollaxis 函数:')
    c = np.rollaxis(a,2,1)
    print (c)
    # 查看元素 a[1,1,0],即 6 的坐标,变成 [1, 0, 1]
    # 最后的 0 和 它前面的 1 对换位置
    print(np.where(c==6))   
    print ('
    ')

    输出结果如下:

    numpy.swapaxes

    numpy.swapaxes 函数用于交换数组的两个轴,格式如下:

    numpy.swapaxes(arr, axis1, axis2)
    • arr:输入的数组
    • axis1:对应第一个轴的整数
    • axis2:对应第二个轴的整数

  • 相关阅读:
    bzoj4537: [Hnoi2016]最小公倍数
    bzoj4331: JSOI2012 越狱老虎桥
    bzoj4558: [JLoi2016]方
    bzoj4209: 西瓜王
    bzoj2653: middle
    bzoj4671: 异或图
    bzoj4771: 七彩树
    shell java应用启动脚本(app.sh)
    Springboot 构建http服务,返回的http行是'HTTP/1.1 200' 无状态码描述 客户端解析错误
    MariaDB(Mysql)-主从搭建
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/14965898.html
Copyright © 2020-2023  润新知