reshape作用:将数组中数据重新划分。举个例子:现在有100号人,可以让100好人站一个队,一个队100人;也可以站10个队,每队10人;还可以分两块场地站队,每块场地站5队,一队10人…
import numpy as np
a = np.array([1,2,3,4,5,6,7,8])
b = a.reshape((2,4))
c = a.reshape((2,2,2))
d = a.reshape(2,2,2,1)
e = a.reshape(2,2,1,2)
print(a)
print('---------------------------')
print(b)
print('---------------------------')
print(c)
print('---------------------------')
print(d)
print('---------------------------')
print(e)
运行结果:
reshape之后生成的数组和之前的数组共用内存,无论更改哪个数组的值,其他数组也会发生相应改变。
import numpy as np
a = np.array([1,2,3,4,5,6,7,8])
b = a.reshape((2,4))
c = a.reshape((2,2,2))
d = a.reshape(2,2,2,1)
e = a.reshape(2,2,1,2)
b[1][1] = 100
print(a)
print('---------------------------')
print(b)
print('---------------------------')
print(c)
print('---------------------------')
print(d)
print('---------------------------')
print(e)
运行结果:
注意:reshape()中所有参数的乘积要等于初始数组的大小,否则报错。
import numpy as np
a = np.array([1,2,3,4,5,6,7,8])
b = a.reshape((3,4))