Python np.将一维阵列重塑为二维阵列-选择正确的尺寸
我正在尝试使用numpy的重塑将一维阵列重塑为二维阵列: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
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)