Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.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为单位在维度上串联_Python_Numpy - Fatal编程技术网

Python 以numpy为单位在维度上串联

Python 以numpy为单位在维度上串联,python,numpy,Python,Numpy,我为x [[[ 1 2 3] [ 4 5 6]] [[ 7 8 9] [10 11 12]]] # shape (2,2,3) 我想要 [[ 1 2 3 4 5 6] [ 7 8 9 10 11 12]] # shape (2,6) 也就是说,我想把中间维度的所有项目串联起来。 在这种特殊情况下,我可以用 x.reshape(2, 2*3) 或者更抽象地说 x.reshape(x.shape[0], x.shape[1]*x.shape[2]) 对

我为
x

[[[ 1  2  3]
  [ 4  5  6]]

 [[ 7  8  9]
  [10 11 12]]] # shape (2,2,3)
我想要

[[ 1  2  3  4  5  6]
 [ 7  8  9 10 11 12]] # shape (2,6)

也就是说,我想把中间维度的所有项目串联起来。

在这种特殊情况下,我可以用

x.reshape(2, 2*3)
或者更抽象地说

x.reshape(x.shape[0], x.shape[1]*x.shape[2])
对于任意维
x
,是否有一种紧凑的、以数字音速获得此结果的方法,最好不用自己做任何索引算法


我一直在玩
串联
函数,但没有用。

如果只关心第一个维度的大小,可以使用

x.reshape(x.shape[0], -1)
-1
表示将隐式确定该维度的大小。这也适用于高维数组,前提是在新维的元组中不超过一个
-1

也可以通过直接指定数组的
shape
属性来执行此操作:

x.shape = (x.shape[0], -1)
使用
x.restorate(…)
和直接分配给
x.shape
之间的主要区别在于,如果不修改底层内存缓冲区(例如
x
是非连续的),前者可能会创建一个副本,后者永远不会生成副本,而是会引发
AttributeError