reshape可以将array变成你想要的样子,比如一个shape是(15,1)的array,你可以通过reshape函数将其变成(5,3)
Example:
import numpy as np
test_array=np.random.rand(3,4)
print("output1:",test_array)
print("output2:",test_array.shape)
test_array_after=test_array.reshape(6,2)
print("output3:",test_array_after)
print("output4:",test_array_after.shape)
输出如下:
output1: [[0.51063203 0.44249878 0.85402507 0.54496759]
[0.18661235 0.54994863 0.05151499 0.35093291]
[0.95488154 0.75608631 0.69711313 0.61121527]]
output2: (3, 4)
output3: [[0.51063203 0.44249878]
[0.85402507 0.54496759]
[0.18661235 0.54994863]
[0.05151499 0.35093291]
[0.95488154 0.75608631]
[0.69711313 0.61121527]]
output4: (6, 2)
可以看到原来shape(3,4)的array已经经过reshape重组为(6,2)的array
重组时,每次取原来array的一行填充(6,2)的第一行,第二行...不够的话再取原来array的第二行,第三行......,依次类推,简而言之就是从左到右,从上到下的搬运和填充