numpy의 차원과 axis의 이해

차원과 axis의 이해(sum으로)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
np_array = np.arange(0, 4*2*4)
print(np_array) #32차원 배열
# array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
# 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31])

reshape = np_array.reshape(4,2,4)
print(reshape) #x,y,z차원 == 4,2,4 차원
# array([[[ 0, 1, 2, 3],
# [ 4, 5, 6, 7]],

# [[ 8, 9, 10, 11],
# [12, 13, 14, 15]],

# [[16, 17, 18, 19],
# [20, 21, 22, 23]],

# [[24, 25, 26, 27],
# [28, 29, 30, 31]]])

print(reshape.sum(axis=0)) #x,y,z 차원에서 y,z 차원으로 바뀜
# array([[48, 52, 56, 60],
# [64, 68, 72, 76]])

print(reshape.sum(axis=1)) #x,y,z 차원에서 x,z 차원으로 바뀜
# array([[ 4, 6, 8, 10],
# [20, 22, 24, 26],
# [36, 38, 40, 42],
# [52, 54, 56, 58]])

print(reshape.sum(axis=2)) #x,y,z 차원에서 x,y 차원으로 바뀜
# array([[ 6, 22],
# [ 38, 54],
# [ 70, 86],
# [102, 118]])

print(reshape.sum(axis=(1,2))) #x,y,z 차원에서 z 차원으로 바뀜
# array([ 28, 92, 156, 220])

print(reshape.sum(axis=(0,2))) #x,y,z 차원에서 y차원으로 바뀜
# array([216, 280])
Author

InhwanCho

Posted on

2022-12-14

Updated on

2022-12-14

Licensed under

Comments