numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)

numpy库对多维数组有非常灵巧的处理方式,主要的处理方法有:

.reshape(shape) : 不改变数组元素,返回一个shape形状的数组,原数组不变

.resize(shape) : 与.reshape()功能一致,但修改原数组

In [22]: a = np.arange(20)
#原数组不变
In [23]: a.reshape([4,5])
Out[23]:
array([[ 0, 1, 2, 3, 4],
    [ 5, 6, 7, 8, 9],
    [10, 11, 12, 13, 14],
    [15, 16, 17, 18, 19]])

In [24]: a
Out[24]:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
    17, 18, 19])

#修改原数组
In [25]: a.resize([4,5])

In [26]: a
Out[26]:
array([[ 0, 1, 2, 3, 4],
    [ 5, 6, 7, 8, 9],
    [10, 11, 12, 13, 14],
    [15, 16, 17, 18, 19]])

.swapaxes(ax1,ax2) : 将数组n个维度中两个维度进行调换,不改变原数组

In [27]: a.swapaxes(1,0)
Out[27]:
array([[ 0, 5, 10, 15],
    [ 1, 6, 11, 16],
    [ 2, 7, 12, 17],
    [ 3, 8, 13, 18],
    [ 4, 9, 14, 19]])

.flatten() : 对数组进行降维,返回折叠后的一维数组,原数组不变

In [29]: a.flatten()
Out[29]:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
    17, 18, 19])

到此这篇关于numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)的文章就介绍到这了,更多相关numpy ndarray多维数组维度变换内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并

    1. 简介 NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库.最主要的数据结构是ndarray数组. NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用, 这种组合广泛用于替代 MatLab. SciPy 是一个开源的 Python 算法库和数学工具包.SciPy 包含的模块有最优化.线性代数.积分.插值.特殊函数.快速傅里叶变换

  • numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)

    numpy库对多维数组有非常灵巧的处理方式,主要的处理方法有: .reshape(shape) : 不改变数组元素,返回一个shape形状的数组,原数组不变 .resize(shape) : 与.reshape()功能一致,但修改原数组 In [22]: a = np.arange(20) #原数组不变 In [23]: a.reshape([4,5]) Out[23]: array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14

  • NumPy实现ndarray多维数组操作

    简介 NumPy一个非常重要的作用就是可以进行多维数组的操作,多维数组对象也叫做ndarray.我们可以在ndarray的基础上进行一系列复杂的数学运算. 本文将会介绍一些基本常见的ndarray操作,大家可以在数据分析中使用. 创建ndarray 创建ndarray有很多种方法,我们可以使用np.random来随机生成数据: import numpy as np # Generate some random data data = np.random.randn(2, 3) data arra

  • np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴

    如下所示: >> type(np.newaxis) NoneType >> np.newaxis == None True np.newaxis 在使用和功能上等价于 None,查看源码发现:newaxis = None,其实就是 None 的一个别名. 1. np.newaxis 的实用 >> x = np.arange(3) >> x array([0, 1, 2]) >> x.shape (3,) >> x[:, np.newa

  • Numpy ndarray 多维数组对象的使用

    介绍 目前它是Python数值计算中最为重要的基础包,将numpy的数组的对象作为数据交互的通用语,一般我们要充分理解好矩阵计算的原理,这需要你要有一些线性代数的基础知识.在对数据处理.清洗.构造子集.过滤.变换以及其他计算的过程快速的进行向量化计算,后续也会介绍R语言,因为R语言就是一个原生态基于向量化计算的编程语言. Numpy的核心特征之一就是一个N维数组对象--ndarray,这是一个快速灵活的大型数据集容器,可以进行科学数值计算. 代码操作 import numpy as np 导入好

  • python NumPy ndarray二维数组 按照行列求平均实例

    我就废话不多说了,直接上代码吧! c = np.array([[1, 2, 3, 4], [4, 5, 6, 7], [7, 8, 9, 10]]) print(c.mean(axis=1))#行 print(c.mean(axis=0))#列 输出为: [ 2.5 5.5 8.5] [ 4. 5. 6. 7.] 以上这篇python NumPy ndarray二维数组 按照行列求平均实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • NumPy 如何生成多维数组的方法

    Python现在是最热门的人工智能语言,各种工具的支持如Google的Tensorflow,都是首选支持Python的. 但是,与R语言不同,Python语言设计时,并没有考虑对于矩阵运算,统计计算等功能做专项支持.于是我们需要NumPy库来补足这一能力上的不足. NumPy是Python的著名扩展库,相当于Python中的MATLAB. Numpy 中,ndarray 类具有六个参数,它们分别为: shape:数组的形状. dtype:数据类型. buffer:对象暴露缓冲区接口. offse

  • numpy向空的二维数组中添加元素的方法

    直接上代码了 x = np.empty(shape=[0, 4], int) x = np.append(x, [[1,2,3,4]], axis = 0) x = np.append(x, [[1,2,3,4]], axis = 0) 这样就添加了两行4列的数据了.注意append里面是两层括号,这个非常重要,如果漏掉了就不是二维数组了,用axis的时候就会报维度不匹配. 以上这篇numpy向空的二维数组中添加元素的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我

  • numpy中实现二维数组按照某列、某行排序的方法

    如何根据二维数组中的某一行或者某一列排序?假设data是一个numpy.array类型的二维数组,可以利用numpy中的argsort函数进行实现,代码实例如下: data = data[data[:,2].argsort()] #按照第3列对行排序 注意:argsort返回的只是排好序后的行索引,不会改变原数组. 按照某行进行排序,可以利用转置操作,代码如下所示: data = data.T(data.T[:,2].argsort()).T # 按照第3行对列进行排序 也可以直接按行进行排序,

  • C#中获取二维数组的行数和列数以及多维数组各个维度的长度

    如何获取二维数组中的元素个数呢? int[,] array = new int[,] {{1,2,3},{4,5,6},{7,8,9}};//定义一个3行3列的二维数组 int row = array.Rank;//获取维数,这里指行数 int col = array.GetLength(1);//获取指定维度中的元素个数,这里也就是列数了.(0是第一维,1表示的是第二维) int col = array.GetUpperBound(0)+1;//获取指定维度的索引上限,在加上一个1就是总数,这

  • Python的numpy库中将矩阵转换为列表等函数的方法

    这篇文章主要介绍Python的numpy库中的一些函数,做备份,以便查找. (1)将矩阵转换为列表的函数:numpy.matrix.tolist() 返回list列表 Examples >>> >>> x = np.matrix(np.arange(12).reshape((3,4))); x matrix([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> x.tolist() [[0, 1, 2

随机推荐