[파이썬] pandas 데이터 프레임의 공분산 및 상관계수

판다스(Pandas)는 파이썬에서 데이터 분석과 조작을 위한 강력한 라이브러리입니다. 이 라이브러리는 데이터를 구조화하고 처리하는데 매우 유용합니다.

공분산과 상관계수는 통계학과 데이터 분석에서 중요한 개념입니다. 판다스를 사용하면 데이터 프레임에서 공분산과 상관계수를 계산할 수 있습니다. 이번 포스트에서는 이러한 개념들을 소개하고, 실제 데이터 프레임에서 사용하는 방법을 살펴보겠습니다.

공분산

먼저, 공분산은 두 변수간의 관계를 나타냅니다. 하나의 변수가 상승할 때 다른 변수도 상승하는 경우에는 양의 공분산이라고 하고, 반대로 하나의 변수가 상승할 때 다른 변수는 하락하는 경우에는 음의 공분산이라고 합니다.

판다스에서는 DataFrame 객체의 cov 메소드를 사용하여 공분산을 계산할 수 있습니다. 예를 들어, 다음과 같이 두 개의 변수 xy를 가진 데이터 프레임을 생성하고 공분산을 계산해 보겠습니다.

import pandas as pd

df = pd.DataFrame({'x': [1, 2, 3, 4, 5], 'y': [5, 4, 3, 2, 1]})
covariance = df['x'].cov(df['y'])
print("공분산:", covariance)

출력 결과는 다음과 같이 나타납니다:

공분산: -2.5

상관계수

상관계수는 두 변수 간의 관련성의 강도를 나타냅니다. 상관계수는 -1과 1 사이의 값을 가지며, 1에 가까울수록 양의 관련성이 강하고, -1에 가까울수록 음의 관련성이 강합니다. 0에 가까울수록 두 변수 간에 관련성이 거의 없다는 것을 의미합니다.

판다스에서는 DataFrame 객체의 corr 메소드를 사용하여 상관계수를 계산할 수 있습니다. 예를 들어, 위에서 생성한 데이터 프레임에서 xy의 상관계수를 계산해 보겠습니다.

correlation = df['x'].corr(df['y'])
print("상관계수:", correlation)

출력 결과는 다음과 같습니다:

상관계수: -1.0

결과 해석

위의 예제에서, xy의 공분산은 -2.5이며, 상관계수는 -1.0입니다. 이는 xy가 완전히 반대 방향으로 관련되어 있음을 의미합니다. 즉, x가 증가하면 y가 반드시 감소하고, x가 감소하면 y가 반드시 증가합니다.

이러한 공분산과 상관계수를 통해 변수들 사이의 관계를 파악할 수 있고, 이를 활용하여 데이터 분석 및 예측에 도움을 줄 수 있습니다.

결론

판다스를 사용하여 데이터 프레임에서 공분산과 상관계수를 계산하는 방법을 살펴보았습니다. 공분산과 상관계수는 변수들 간의 관계를 이해하고 데이터 분석에 활용하는데 중요한 지표입니다. 이러한 지표를 활용하여 데이터를 분석하고 예측하는데 도움이 되는 판다스의 강력한 기능을 적극적으로 활용해 보세요.