Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Numpy将N维数组转换为二维数组_Python_Numpy - Fatal编程技术网

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,如果您不介意的话,我会把它添加到答案中?