[파이썬 Example #007] numpy 다루기
2019. 10. 17. 15:46ㆍ컴퓨터_Com/파이썬 지식_Things to remember
참조: http://taewan.kim/post/numpy_cheat_sheet/
1. N x N 배열에 있는 숫자 세기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
cmap = np.array([[2, 6, 10, 2, 9, 6, 9, 4, 7, 1],
[6, 6, 6, 2, 2, 6, 2, 2, 4, 1],
[10, 6, 2, 7, 2, 2, 5, 3, 7, 1],
[2, 2, 7, 6, 2, 10, 4, 7, 10, 1],
[9, 2, 2, 2, 2, 8, 7, 4, 1, 1],
[6, 6, 2, 10, 8, 9, 2, 6, 1, 0],
[9, 2, 5, 4, 7, 2, 3, 1, 1, 0],
[4, 2, 3, 7, 4, 6, 1, 1, 0, 0],
[7, 4, 7, 10, 1, 1, 1, 0, 0, 0],
[1, 1, 1, 1, 1, 0, 0, 0, 0, 0]])
mp_map = np.array([[1, 2, 2, 2, 2, 2, 2, 2, 2, 0],
[2, 4, 4, 4, 4, 4, 4, 4, 4, 0],
[2, 4, 4, 4, 4, 4, 4, 4, 4, 0],
[2, 4, 4, 4, 4, 4, 4, 4, 4, 0],
[2, 4, 4, 4, 4, 4, 4, 4, 0, 0],
[2, 4, 4, 4, 4, 4, 4, 4, 0, 0],
[2, 4, 4, 4, 4, 4, 4, 0, 0, 0],
[2, 4, 4, 4, 4, 4, 0, 0, 0, 0],
[2, 4, 4, 4, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])
fa = np.array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])
|
cs |
위와 같은 numpy 배열 3개가 있다. cmap 배열에서 각 숫자 (0에서 10)가 몇개씩 있는지 확인하고 싶을 때 요렇게 한다.
1
2
3
4
5
|
for i in range(len(cmap)):
for j in range(len(cmap)):
fa[1, cmap[i, j]] = fa[1, cmap[i, j]] + 1
np.sum(fa[1:])
|
cs |
만약 cmap에 있는 숫자들에 mp_map에 있는 숫자들만큼 가중치를 곱한 다름 숫자를 세고 싶다면, 하나씩 더하는 것이 아니고 가중치 만큼을 더하면 된다.
1
2
3
4
5
|
for i in range(len(cmap)):
for j in range(len(cmap)):
fa[1, cmap[i, j]] = fa[1, cmap[i, j]] + mp_map[i, j]
np.sum(fa[1:])
|
cs |
2. Octantal map(1/8)을 Qaurter map(1/4)으로 바꾸기
출처: https://docs.scipy.org/doc/numpy-1.15.0/reference/generated/numpy.triu_indices.html
'컴퓨터_Com > 파이썬 지식_Things to remember' 카테고리의 다른 글
[파이썬 Example #008] Multi-run and editing output (0) | 2019.11.08 |
---|---|
[파이썬 Example #006] Text 파일 바꾸기 (Replace) (0) | 2019.10.17 |
[파이썬 Example #005] 디렉토리 다루기 (0) | 2019.10.16 |
[PyCharm #002] SciView 열기 (0) | 2019.10.16 |
[파이썬 Example #004] text파일의 특정 단어를 찾아서 새로운 파일에 쓰기 (0) | 2019.09.19 |