데이터 분석 시, 유용하게 사용가능한 대표적인 범용함수(universal function)를 정리해보려 합니다
▷ 항이 1개인 범용함수
함수 이름 | 기능 |
abs | 절대값 반환 |
around | 0.5기준 올림/내림 |
round | n소수점 자리수까지 반올림 실행 |
rint | 가장 가까운 정수로 올림/내림 |
ceil | 크거나 같은 가장 작은 정수 반환 |
floor | 작거나 같은 가장 큰 정수 반환 |
trunc | 소수점 버림 |
reciprocal | 역수 처리 (2 -> 1/2) |
sqrt | 제곱근 |
파이썬과 유사한 점이 많은데 rint와 reciprocal은 처음 보는거 같네요
사용하는 방법은 간단합니다.
import numpy as np
np.abs(array)
np.around(array)
np.ceil(array)
...
▷ 항이 2개인 범용함수
함수 이름 | 기능 |
add | 더하기 |
substract | 빼기 |
multiply | 곱하기 |
divide | 나누기 |
floor_divide | 파이썬의 // 처럼 몫도출 |
mod(), remainder() | % 연산과 동일함 |
maximum | 인덱스별 큰 값 반환 |
minimum | 인덱스별 작은값 반환 |
greater | 비교해서 크면 True, 아니면 False |
less | 비교해서 작으면 True, 아니면 False |
power | 제곱 |
사용 방법은 항이 추가되는 것 빼고는 큰 차이가 없습니다.
▷ 문자열에 적용되는 범용함수
https://numpy.org/devdocs/reference/routines.char.html#module-numpy.char
파이썬에 문자열에 적용되는 여러 기능이 있는 것처럼 numpy도 마찬가지인데요
가장 큰 차이는 np.함수 형태가 아니라 np.char.함수명 이런 식으로 사용되는 차이점이 있습니다
종류가 여러가지가 있지만 대표적인 몇가지를 코드를 통해 살펴보겠습니다
a = np.array(["NumPy is a Python library"])
np.char.find(a, "Python", start=0, end=None)
array([11])
특정 문자열을 찾아서 위치를 반환하는 np.char.find
a = np.array(["Computer Science"])
np.char.index(a, "Science", start=0, end=None)
array([9])
find와 기능은 같지만, 문자열이 없을 때 ValueError을 일으키는 차이가 있는 np.char.index
c = np.array(['aAaAaA', ' aA ', 'abBABba'])
c
>> array(['aAaAaA', ' aA ', 'abBABba'], dtype='<U7')
np.char.count(c,'A')
>> array([3, 1, 1])
찾는 부분문자열이 몇개가 들었는지를 반환하는 count
▷ 유틸리티 함수
이번에는 수치계산에 유용하게 사용가능한 유틸리티 함수를 보겠습니다
prod | 원소간 곱 계산 |
nanprod | NaN 값을 1로 간주하고 원소간 곱 계산 |
cumprod | 누적 곱 계산 |
sum | 합계 계산 |
nansum | NaN을 0으로 간주하고 원소간 합계산 |
cumsum | 원소간 누적 합 계산 |
diff | 원소간 n차 차분 |
mean | 배열의 평균 |
std | 배열의 표준편차 |
var | 배열의 분산 |
max, min | 최대/최소값 |
sort | 정렬 |
몇 가지 예시를 보겠습니다
a = np.array([2,3,4])
np.prod(a)
>> 24
# 각 원소를 곱한 결과값 반환
b = np.array([[2,3],[4,5]])
np.prod(b, axis=0)
>> [8, 15]
np.prod(b,axis=1)
>> [6, 20]
where(조건, True, False) | 조건식 참/거짓에 따라 결과 반환 |
unique(array) | 중복값을 제거하고 2차원 배열은 1차원으로 flatten해서 반환 |
choose(idx,array) | idx 색인에 부합하는 array 반환 |
select(조건리스트, 적용리스트, default=기본값) | 다중조건 지정 |
all(array) | 전체 참거짓여부 |
any(array) | 하나라도 참거짓여부 |
fromstring | 다른 type으로 변환 후 split처리 |
transpose() | 전치처리 |
dot() | 내적 |
한번에 다 기억하긴 어렵지만 알아두면 이후에 도움이 될 것 같습니다 ㅎㅎ
'Data Science > Pandas, Numpy' 카테고리의 다른 글
[Numpy] Flatten 기능 및 사용법 정리 (0) | 2022.09.29 |
---|---|
[Numpy] 열 Column간 순서, 위치 바꾸기 (0) | 2022.09.29 |
[Numpy] 넘파이 개념 및 필수 함수 정리 (0) | 2022.09.27 |
[Pandas] Groupby / Count / Value_counts 차이점 정리 (0) | 2022.09.22 |
[Pandas] Reset_index, set_index 비교 (0) | 2022.09.21 |
댓글