reshape函数关于参数‘-1’的用法

'-1’的作用

有自动计算的功能

'-1’的具体用法

假设有一维数组a

a=np.array([1,2,3,4,5,6,7,8,9,10])

我想让它变成一个2列的二维数组,我要自己计算它的行数,10/2=5

a= a.reshape(5,2) 

array([[ 1, 2],
[ 3, 4],
[ 5, 6],
[ 7, 8],
[ 9, 10]])

如果我想要一个2列的二维数组,但是我又不想计算行数

 a.reshape(-1,2)

得到array([[ 1, 2],
[ 3, 4],
[ 5, 6],
[ 7, 8],
[ 9, 10]])

如果我想要一个5行的二维数组时

a.reshape(5,-1)

得到array([[ 1, 2],
[ 3, 4],
[ 5, 6],
[ 7, 8],
[ 9, 10]])

如果是三维的 也可以呀

a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11,11,11,11,11,11])
a = a.reshape(-1,2,2)
print(a)

得到[[[ 1 2]
[ 3 4]]

[[ 5 6]
[ 7 8]]

[[ 9 10]
[11 11]]

[[11 11]
[11 11]]]

你可能感兴趣的:(python基础)