Python np.将一维阵列重塑为二维阵列-选择正确的尺寸

Python np.将一维阵列重塑为二维阵列-选择正确的尺寸,python,numpy,Python,Numpy,我正在尝试使用numpy的重塑将一维阵列重塑为二维阵列: import numpy as np inputArray =np.random.randint(low=0, high=4, size=160000) inputArray_ = inputArray.reshape(-1,4000, 4000,4) 返回一个值错误: ValueError: cannot reshape array of size 160000 into shape (400,400,4) 使用 输入阵列uu=np

我正在尝试使用numpy的重塑将一维阵列重塑为二维阵列:

import numpy as np
inputArray =np.random.randint(low=0, high=4, size=160000)
inputArray_ = inputArray.reshape(-1,4000, 4000,4)
返回一个值错误:

ValueError: cannot reshape array of size 160000 into shape (400,400,4)
使用

输入阵列uu=np。重塑输入阵列,-1,2 或

inputArray_uu=np.ReformeInputArray,leninputArray/2,2
由于400*400*4=640000大于160000,因此无法重塑形状

您没有足够的值来填充新形状

640000-160000=480000。您缺少480000个值

将160000的形状除以乘以的其他维度,如果结果为int,则有效

e、 g

这将导致[10,40,40,10]的形状


由于160000/40*40*10=10-->10是-1所采用的dim

有什么混淆?您是否在没有最后一个参数“4”的情况下尝试过它?inputArray\uuz=inputArray.Reforme-1400400有一个4k对400的打字错误,不清楚到底是什么让你绊倒了。Reforme无法更改元素的总数。形状的乘积必须匹配。请使用//2而不是/2。
inputArray_ = inputArray.reshape(-1,40, 40, 10)