반응형
파이썬(Python) 데이터처리 - 넘파이(NumPy)
- 넘파이(numpy)를 사용하려면 먼저 넘파이(numpy)를 임모트(import)해야 합니다.
- import numpy를 써도 되지만 보통은 다음과 같이 import ~ as ~ 형식을 사용
import numpy as np
1. 배열 데이터 생성 - array()
arr_str = np.array(list_data)
- 리스트데이터(list_data)를 인수로 받아 넘파이(numpy)의 배열객체(arr_str)를 생성
(예제)
import numpy as np
list_data = [0, 1, 2, 3, 4, 5.0]
aa = np.array(list_data)
bb = np.array([[1,2,3],[4,5,6],[7,8,9]])
aa, bb
(결과)
(array([0., 1., 2., 3., 4., 5.]),
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]))
2. 범위와 간격을 배열을 생성 - arange()
arr_str = np.arange([start,] stop[, step])
- start부터 시작해 stop전까지 step만큼 계속 더해 넘파이배열(arr_str)을 생성
(예제)
np.arange(0, 5, 0.5)
(결과)
array([0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5])
3. 범위와 개수를 배열을 생성 - linspace()
arr_str = np.linspace(start, stop[, num])
- start부터 stop까지 num개 요소를 갖는 넘파이 배열(arr_str)을 생성
- 배열의 각요소 사이의 간격은 (stop - start) / (num - 1)
(예제)
np.linspace(0, np.pi, 20)
(결과)
array([0. , 0.16534698, 0.33069396, 0.49604095, 0.66138793,
0.82673491, 0.99208189, 1.15742887, 1.32277585, 1.48812284,
1.65346982, 1.8188168 , 1.98416378, 2.14951076, 2.31485774,
2.48020473, 2.64555171, 2.81089869, 2.97624567, 3.14159265])
4. 배열 데이터 선택
1) 1차원 배열
배열명[i]
- i는 배열의 위치로 0부터 시작합니다.
- i가 -1 이면 배열의 마지막번째 -2 이면 배열 마지막에서 2번째 가리킵니다.
- n개 배열의 마지막 위치는 n-1 이 됩니다.
(예제)
import numpy as np
aa = np.array([0, 10, 20, 30, 40, 50])
[aa[0], aa[3], aa[-1], aa[-3]]
(결과)
[0, 30, 50, 30]
2) 배열조건
배열명[condition]
- 배열에서 condition를 만족하는 조건 선택입니다.
(예제)
(예제1)
aa = np.array([0, 10, 20, 30, 40, 50])
aa[aa > 30]
(결과)
array([40, 50])
(예제2)
aa[(aa % 3) == 0 | (aa < 20)]
(결과)
array([10, 30])
3) 배열의 슬라이싱(범위)
(형식1)
배열[start:end]
- start : 시작위치
- end : 끝위치 (end를 입력하지 않으면 배열의 마지막까지)
- 범위 : start ~ end -1
(형식2)
배열[start:end:step]
- start : 시작위치
- end : 끝위치 (end를 입력하지 않으면 배열의 마지막까지)
- step : 증가폭 (생락시 1)
- 범위 : start ~ end -1 에서 step마다 배열 반영
- start가 end보다 크면 step은 음수가 되며 역순으로 배열 반영
(예제)
(예제1)
import numpy as np
aa = np.array([10, 20, 30, 40, 50, 60, 70, 80, 90, 100])
aa[1:8:2]
(결과)
array([20, 40, 60, 80])
(예제2)
aa[:]
(결과)
array([ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100])
(예제3)
aa[0:10:]
(결과)
array([ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100])
(예제4)
aa[:5:]
(결과)
array([10, 20, 30, 40, 50])
(예제5)
aa[8:2:-2]
(결과)
array([90, 70, 50])
반응형
'개발(IT) > Python(파이썬)' 카테고리의 다른 글
파이썬(Python) 데이터처리 - 판다스(pandas) #2 (0) | 2024.12.11 |
---|---|
파이썬(Python) 데이터처리 - 판다스(pandas) #1 (1) | 2024.12.07 |
파이썬(Python) 문자열 처리 (0) | 2024.11.30 |
파이썬(Python) 파일 읽고(read) 쓰기(write) (0) | 2024.11.23 |
파이썬(Python) 스케줄러 패키지(Schedule Package) (0) | 2024.11.16 |