将一维numpy数组重塑为二维

时间:2019-10-09 14:45:52

标签: python numpy

以下是我要运行的代码:

import numpy as np
mask = np.zeros(1400*2100, dtype=np.uint8)
np.reshape(mask,(1400,2100), order='F')
print(mask.shape)

输出结果为: (2940000,)

我期望mask重塑为(1400,2100)。 我的代码有什么问题?

2 个答案:

答案 0 :(得分:1)

np.reshape操作根本不会修改mask引用,而是会产生一个新数组。如果要为输入和结果使用相同的名称,则可以

mask = np.reshape(mask, (1400, 2100), order='F')

或者,稍短的

mask = mask.reshape((1400, 2100), order='F')

答案 1 :(得分:0)

您需要将np.reshape(mask,(1400,2100), order='F')的输出重新分配给变量mask

mask=np.reshape(mask,(1400,2100), order='F')