2021. 02. 08 월요일
Numpy
array 필터링
- array에 속한 데이터 중 특정 범위 내의 값만 필터링하는 방법은 두가지가 있다.
- 부울값으로 나타내기
- 범위 내의 데이터만 추출하기
부울값으로 나타내기
import numpy as np
array = np.array([1, 2, 3, 4, 5])
high = array > 3
print(high)
[False False False True True]
범위 내 데이터 추출
import numpy as np
array = np.array([1, 2, 3, 4, 5])
high = array > 3
print(array[high])
[4 5]
2D NumPy Array
- Numpy를 통해 x축과 y축으로 구성된 2차원의 배열을 만들 수 있다.
2차원 배열 만들기
- 1차원으로 이루어진 어레이를 이어 붙여서 2차원으로 만든다고 생각하면 쉽다.
import numpy as np
list = [[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10],
[11, 12, 13, 14, 15]]
np_list = np.array(list)
- 위와 같이 단순히 어레이를 나열하여 하나의 큰 어레이로 만들면 된다.
- [1, 2, 3, 4, 5] 가 첫번째 열, 그 중에서 3은 세번째 행이 된다.
- 12는 3열 2행이다.
- 다만 파이썬 명령어에서는 첫번째 행이나 열이 0으로 지정되는 부분을 유의해야한다.
- 따라서 3열 2행에 있는 12를 찾기 위해서는 다음과 같이 명령어를 작성해야한다.
list[2][1]
배열의 생김새 물어보기
- 배열이 몇열 몇행으로 이루어져있는지 알기 위해서는
object.shape
를 사용한다.
import numpy as np
list = [[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10],
[11, 12, 13, 14, 15]]
np_list = np.array(list)
print(np_list.shape)
(3, 5)
- 위의 결과 (3, 5)에서 3은 몇줄의 어레이가 있는지(열), 5는 어레이가 몇개의 데이터를 갖고 있는지(행)를 의미한다.
- 총 3개의 열과 5개의 행으로 이루어져 있는 것을 알 수 있다.
2차원 배열에서 데이터 탐색
array[~, ~]
혹은 array[~][~]
- 만약 50열의 3행 데이터를 구하고 싶다면
print(array[49, 2])
print(array[49][2])
mean
numpy.mean()
을 통해 어레이에서 특정 행 또는 열의 평균값을 구할 수 있다.
import numpy as np
array = np.array([2, 3, 5, 7, 8, 9])
print(np.mean(array))
5.666666666666667
numpy.median()
을 통해 어레이에서 특정 행 또는 열의 중앙값을 구할 수 있다.
import numpy as np
array = np.array([2, 3, 4, 7, 8, 9])
print(np.median(array))
5.5
그 외
numpy.std()
표준편차
numpy.corrcoef()
상관계수