Python Numpy将N维数组转换为二维数组
给定一个具有形状Python Numpy将N维数组转换为二维数组,python,numpy,Python,Numpy,给定一个具有形状(n,d_1,…,d_{n-1})的n维数组,我想将该数组转换为具有形状(n,d)的二维数组,其中d=\prod_I d_I。numpy中有什么巧妙的技巧可以做到这一点吗?您可以使用方法,以及获得原始数组的形状,并获得d_1,d_2,…的乘积。范例- In [22]: import numpy as np In [23]: na = np.arange(10000).reshape((5,2,10,10,10)) In [26]: new_na = np.reshape(na
(n,d_1,…,d_{n-1})
的n维数组,我想将该数组转换为具有形状(n,d)
的二维数组,其中d=\prod_I d_I
。numpy中有什么巧妙的技巧可以做到这一点吗?您可以使用方法,以及获得原始数组的形状,并获得d_1,d_2,…
的乘积。范例-
In [22]: import numpy as np
In [23]: na = np.arange(10000).reshape((5,2,10,10,10))
In [26]: new_na = np.reshape(na, (na.shape[0], np.prod(na.shape[1:])))
In [27]: new_na.shape
Out[27]: (5, 2000)
或者是评论中@hpaulj建议的更简单的版本-
In [31]: new_na = np.reshape(na, (na.shape[0], -1))
In [32]: new_na.shape
Out[32]: (5, 2000)
更简单的是:
na.reforme(na.shape[0],-1)
Nice,如果您不介意的话,我会把它添加到答案中?