我有一个形状为(50, 100, 20, 20)
的列表,我将其重塑如下
x = np.array(cells)
train = x[:,:70].reshape(-1,400).astype(np.float32) # Size = (3500,400)
test = x[:,70:100].reshape(-1,400).astype(np.float32) # Size = (1500,400)
我是python和numpy的新手,我想知道形状为(50, 100, 20, 20)
的numpy数组
分别更改为(3500,400)
和(1500,400)
答案 0 :(得分:3)
x
是4维数组。
索引操作
x[:,:70]
生成形状数组(50、70、20、20)x[:,70:100]
产生一个形状数组(50、30、20、20)然后.reshape(-1,400)
将4维数组重新组织为2维数组,使得最终数组将具有400列(无论如何创建行)。
现在,步骤1 中的元素数分别为1400000(50*70*20*20
)和步骤2 中的元素数分别为600000(50*30*20*20
)
因此,当将1400000个元素压缩到400列中时,将获得3500行。 同样,当将600000个元素压缩到400列中时,将获得1500行。
希望这会有所帮助!