如何重塑形状(26400、1、0、1、2048)的Numpy数组以重塑形状(26400,None,None,2048)

时间:2019-04-16 20:25:31

标签: python numpy

寻找一种将numpy数组的形状从形状(26400,1,0,1,2048)更改为(264400,None,None,2048)的解决方案

1 个答案:

答案 0 :(得分:1)

Google在“ numpy删除维度1”上的第一个为numpy.squeeze — NumPy v1.16 Manual

In [3]: z=np.zeros((100,1,0,1,100))

In [5]: z.squeeze()
Out[5]: array([], shape=(100L, 0L, 100L), dtype=float64)

正如其他人所建议的,None中没有numpy这样的尺寸。如果您尝试使用这样的“尺寸大小”来创建numpy.array,则(从NumPy 1.16版本开始)您将获得None,并且将显示DeprecationWarning,注意此语义将很快删除。

并且不可能删除维度0,因为这意味着您的数组为空,如果删除了数组,结果将不再为空,因此您将需要一些东西来填充它。

comment98113945中,您提到“ None”的大小是某些功能的要求。在这种情况下,我相信“ None”的意思是“任何大小”。