본문 바로가기
판다스/판다스 팁

[pandas] 수학적 연산

by 김판다t 2024. 10. 20.

데이터 프레임에서 수학적 연산을 수행하는 방법

 

판다스에서의 수학적 연산

 

데이터 분석을 할 때, 다양한 수학적 연산이 필요할 때가 많습니다. 판다스는 기본적으로 이러한 수학 연산을 직접 제공하지 않지만, 파이썬의 강력한 수학 라이브러리인 넘파이(NumPy)를 활용하면 이러한 문제를 쉽게 해결할 수 있습니다.

 

특히, 판다스넘파이 기반으로 제작된 라이브러리이기 때문에, 넘파이의 다양한 수학 함수들을 판다스 객체에 쉽게 적용할 수 있으며, 두 라이브러리 간에 높은 호환성을 갖고 있습니다.

 

넘파이의 수학 함수

 

넘파이(NumPy) 라이브러리는 다음과 같은 다양한 수학 함수를 지원합니다.

   
함수 설명
np.log 자연로그(밑이 e)
np.log2 밑이 2인 로그
np.log10 밑이 10인 로그
np.sin 삼각함수 sin
np.cos 삼각함수 cos
np.tan 삼각함수 tan
np.arcsin 삼각함수 sin의 역함수 arcsin
np.arccos 삼각함수 cos의 역함수 arccos
np.arctan 삼각함수 tan의 역함수 arctan
np.exp e의 지수 함수
np.square 제곱
np.sqrt 제곱근

 

 

참고할 점은 삼각함수는 라디안 단위로 사용된다는 것입니다. 따라서 각도를 사용해야 하는 경우, 라디안으로 변환하여 함수에 적용해야 합니다. 또한 다양한 밑을 기반으로 로그 함수를 사용하고 싶다면 넘파이가 지원하는 로그 함수를 활용해 밑변환 공식으로 수행해야 합니다.

 

로그의 밑변환 공식)

예시는 밑이 10인 상용로그를 사용하였으나, 자연로그를 비롯한 다른 로그 함수로도 밑변환을 수행할 수 있습니다.

 

적용 예시

 

이제 실제 예시를 들어 판다스 데이터 프레임에 수학적 연산을 적용해 보겠습니다. 아래의 예시 데이터 프레임을 사용하여 제곱근을 구해보겠습니다. 넘파이 함수를 사용할 것이기에 import numpy as np도 잊지 말아야 합니다.

 

import pandas as pd
import numpy as np
pd.options.display.float_format = '{:.3f}'.format  # 소수점 셋째 자리 출력

# 예시 데이터 프레임 생성
df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]})

 

df에서 제곱근을 구하기 위해서는 넘파이 라이브러리를 활용해야 합니다. 넘파이 함수는 반드시 함수 형태로 적용되며, 제곱근을 구하는 함수는 np.sqrt입니다. 

# df의 제곱근을 구하는 코드
out = np.sqrt(df)

 

 

각 셀의 값에 대해 제곱근이 계산된 값을 반환합니다.

 

 

결론

 

판다스는 직접적인 수학 함수를 제공하지 않지만, 넘파이의 함수를 활용하면 복잡한 수학적 연산도 판다스 객체에 적용할 수 있습니다.


교보문고 구매 페이지, 알라딘 구매 페이지yes24 구매 페이지