반응형
15-01 공분산 (cov)
DataFrame.cov(min_periods=None, ddof=1)
개요
cov 메서드는 결측값을 제외한 쌍별 공분산을 구하는 메서드입니다.
공분산이란 확률변수가 2가지 일때 얼마나 퍼져있는가를 구하는 방법입니다.
즉, 두 값을 X축 Y축으로 놓고 점산도를 그렸을때 퍼진 정도라고 할 수 있습니다.
사용법
기본 사용법
※ 자세한 내용은 아래 예시를 참고 바랍니다.
df.cov(min_periods=None, ddof=1)
min_periods : 공분산을 구할 최소 요소의 갯수 입니다. 요소의 갯수가 모자르면 NaN을 반환합니다.
반응형
예시
먼저 기본적인 사용법 예시를 위해 5x2짜리 객체 3개를 생성하겠습니다.
col = ['X','Y']
data1 = [[-6,-3],[-4,-1],[-2,-3],[0,1],[2,2]]
data2 = [[7,-4],[4,-1],[2,0],[-1,3],[-4,9]]
data3 = [[3,-4],[3,-1],[3,0],[3,3],[3,9]]
df1 = pd.DataFrame(data=data1, columns=col)
df2 = pd.DataFrame(data=data2, columns=col)
df3 = pd.DataFrame(data=data3, columns=col)
여기에 사진 첨부
기본적인 사용법
df1은 좌표평면상에서 x가 증가할때 y도 증가하는 경향을 가집니다.
이때 공분산(cov)값은 0보다 크며 양의 상관관계라고 합니다.
print(df1.cov())
>>
X Y
X 10.0 6.0
Y 6.0 5.2
df2은 좌표평면상에서 x가 증가할때 y는 감소하는 경향을 가집니다.
이때 공분산(cov)값은 0보다 작으며 음의 상관관계라고 합니다.
print(df2.cov())
>>
X Y
X 18.30 -20.55
Y -20.55 24.30
df3은 좌표평면상에서 y가 변하여도 x는 변하지 않습니다.
이처럼 x와 y가 상관 없는경우 공분산(cov)값은 0입니다.
print(df3.cov())
>>
X Y
X 0.0 0.0
Y 0.0 24.3
min_periods인수의 사용
min_periods인수는 공분산에 이용될 요소의 최소 갯수를 제한합니다.
이 숫자보다 요소의 수가 적을 경우 NaN을 반환합니다.
print(df3.cov(min_periods=6))
>>
X Y
X NaN NaN
Y NaN NaN
반응형
'파이썬완전정복-Pandas DataFrame > 15. 통계(심화)' 카테고리의 다른 글
Pandas DataFrame 15-05 상관계수 (corr / corrwith) (0) | 2022.02.08 |
---|---|
Pandas DataFrame 15-04 왜도[비대칭도] (skew) (0) | 2022.02.08 |
Pandas DataFrame 15-03 표준오차 (sem) (0) | 2022.02.08 |
Pandas DataFrame 15-02 첨도 (kurt / kurtosis) (0) | 2022.02.08 |