import numpy as np
a = np.array([1,2,3,4,5,6,7,8])
print('a:',a)
a:
[1 2 3 4 5 6 7 8]
b = a.reshape((2,4))
print('b:',b)
b:
[[1 2 3 4]
[5 6 7 8]]
c = a.reshape((2,2,2))
print('c:',c)
c:
[[[1 2]
[3 4]]
[[5 6]
[7 8]]]
d = a.reshape((-1,2))
#这个-1代表的意思就是,我不知道可以分成多少行,但是我的需要是分成3列,多少行我不关心
print('d:',d)
d:
[[1 2]
[3 4]
[5 6]
[7 8]]
reshape新生成的数组和原数组共用一个内存,不管改变哪个都会互相影响
a[0] = 1111
print(a)
print(b)
print(c)
print(d)
a:[1111 2 3 4 5 6 7 8]
b:
[[1111 2 3 4]
[ 5 6 7 8]]
c:
[[[1111 2]
[ 3 4]]
[[ 5 6]
[ 7 8]]]
d:
[[1111 2]
[ 3 4]
[ 5 6]
[ 7 8]]