如何平整numpy数组的一些维度

有没有一种快速的方法来“扁平化”或压扁一些数组中的第一个维度?

例如,给定一个大小(50,100,25)数组(50,100,25) ,所得到的尺寸将是(5000,25)

看看numpy.reshape 。

 >>> arr = numpy.zeros((50,100,25)) >>> arr.shape # (50, 100, 25) >>> new_arr = arr.reshape(5000,25) >>> new_arr.shape # (5000, 25) # One shape dimension can be -1. # In this case, the value is inferred from # the length of the array and remaining dimensions. >>> another_arr = arr.reshape(-1, arr.shape[-1]) >>> another_arr.shape # (5000, 25) 

亚历山大的回答略微普遍 – np.reshape可以采取-1作为一个参数,意思是“总arrays大小除以所有其他列出的维度的产品”:

除了最后一个维度外,

 >>> arr = numpy.zeros((50,100,25)) >>> new_arr = arr.reshape(-1, arr.shape[-1]) >>> new_arr.shape # (5000, 25)