본문 바로가기
Data Science/Pandas, Numpy

[Numpy] 넘파이 범용/유틸리티 함수 정리

by Queen2 2022. 9. 28.
728x90
반응형

 

데이터 분석 시, 유용하게 사용가능한 대표적인 범용함수(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

 

String operations — NumPy v1.24.dev0 Manual

String operations The numpy.char module provides a set of vectorized string operations for arrays of type numpy.str_ or numpy.bytes_. All of them are based on the string methods in the Python standard library. String operations add(x1, x2) Return element-

numpy.org

 

파이썬에 문자열에 적용되는 여러 기능이 있는 것처럼 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() 내적

 

 

한번에 다 기억하긴 어렵지만 알아두면 이후에 도움이 될 것 같습니다 ㅎㅎ

728x90
반응형

댓글