python——reshape(-1,1)的使用及拓展

python中函数 reshape(-1,1)

reshape(行数,列数)常用来更改数据的行列数目

那么问题来了reshape(-1,1)是什么意思呢?难道有-1行?
这里-1是指未设定行数,程序随机分配,所以这里-1表示任一正整数
所以reshape(-1,1)表示(任意行,1列)
代码示例:

import numpy as np
a = np.random.rand(4,4)
print(a)
a.shape

结果:

[[0.33470239 0.60656619 0.80516508 0.68868392]
[0.2766264 0.8671767 0.6159649 0.97478996]
[0.00396481 0.49131735 0.9425952 0.55233518]
[0.64367974 0.29176064 0.8041766 0.57641429]]
(4, 4)

更改a的shape:

a = a.reshape(-1,1)
print(a)

结果:

[[0.33470239]
[0.60656619]
[0.80516508]
[0.68868392]
[0.2766264 ]
[0.8671767 ]
[0.6159649 ]
[0.97478996]
[0.00396481]
[0.49131735]
[0.9425952 ]
[0.55233518]
[0.64367974]
[0.29176064]
[0.8041766 ]
[0.57641429]]

同理我们可以改为:reshape(-1,2),即a.shape = (8,2);
这样我们可以将数组a改为我们任意想要的数组,其中-1的所在的位置要求为正整数,按照上述数组a的shape,-1 = (4x4 )/ b ,b为你确定的数组列数或行数的乘积。
例:a.reshape(-1,2,2) 则 -1 = (4x4)/ (2x2) = 4 ,即a.reshape(4,2,2)

你可能感兴趣的:(python)