1. pandas.DataFrame.corr()
df['col'].corr() # 기본값 피어슨 상관계수
df['col'].corr(method = 'spearman') # 순위 기반 상관계수 스피어만 (서열형에 적합)
df['col'].corr(method = 'kendall') # 켄달 순위 상관계수
| 'pearson' | 기본값, 연속형 변수 간 선형관계 |
| 'spearman' | 순위형 또는 비선형 관계 탐색 |
| 'kendall' | 순위형 변수 간 관계 (robust) |
2. scipy.stats.pearsonr(x, y)
from scipy.stats import pearsonr
corr, pval = pearsonr(df['소득'], df['주택가격'])
print(corr) # 상관계수
print(pval) # 유의확률(p-value)
📕 비교표
| 항목 | .corr() | stats.pearsonr(x, y) |
| 상관계수 계산 방식 | 피어슨(기본값), spearman, kendall | 피어슨(고정) |
| p-value 제공 여부 | ❌ 없음 | ✅ 있음 |
| NaN처리 | 자동 무시 | ❌ 에러발생 (dropna 필요) |
| 다변수 분석 지원 | ✅ (DataFrame 전체 상관 행렬 | ❌ (1:1 변수 비교만 가능) |
| 주로 언제 사용하나 | 변수 간 전체 상관 구조 파악할 때 | 특정 변수 간 통계적 유의성 확인할 때 |
'🍅빅데이터 분석기사 > 정리' 카테고리의 다른 글
| train_test_split, 오분류율, 정확도, 정밀도, MSE, RMSE, f1_score (0) | 2025.06.16 |
|---|---|
| 숫자형 컬럼만 뽑아서 상관계수 구하기 select_dtypes(include = ' ') (0) | 2025.06.15 |
| import warnings [python 경고메시지 무시] (0) | 2025.06.12 |
| numpy의 표준편차와 pandas의 표준편차 차이 (0) | 2025.06.12 |
| 빅데이터분석기사 실기체험 3번 (0) | 2025.06.07 |
