numpy数组的简单重塑:错误:“新数组的总大小必须保持不变”

时间:2018-11-22 22:55:48

标签: python numpy reshape numpy-ndarray

这是问题的非常简单的版本,我将40 * 1数组重塑为20 * 2数组。怎么了?

import numpy as np
x=np.linspace(1,20,40)
#confirm length is 40
print(np.shape(x))
#reshape to 2*20
print(np.reshape(x,2,20))
#returns error: 'total size of new array  must be unchanged'

1 个答案:

答案 0 :(得分:3)

您没有使用该功能,而是应该使用它。

只需使用此:

np.reshape(x,(2,20))

Documentation here

完整代码:

import numpy as np
x=np.linspace(1,20,40)
#confirm length is 40
print(np.shape(x))
print(np.reshape(x,(2,20)))