Pandas 상관 관계 매트릭스
-
DataFrame.corr()
메서드를 사용하여 상관 행렬 생성 -
Matplotlib.pyplot.matshow()
메서드를 사용하여 Pandas 상관 행렬 시각화 -
seaborn.heatmap()
메서드를 사용하여 Pandas 상관 행렬 시각화 -
DataFrame.style
속성을 사용하여 상관 행렬 시각화
이 튜토리얼에서는DataFrame.corr()
메서드를 사용하여 상관 행렬을 생성하고 Matplotlib에서pyplot.matshow()
메서드를 사용하여 상관 행렬을 시각화하는 방법을 설명합니다.
import pandas as pd
employees_df = pd.DataFrame(
{
"Name": ["Jonathan", "Will", "Michael", "Liva", "Sia", "Alice"],
"Age": [20, 22, 29, 20, 20, 21],
"Weight(KG)": [65, 75, 80, 60, 63, 70],
"Height(meters)": [1.6, 1.7, 1.85, 1.69, 1.8, 1.75],
"Salary($)": [3200, 3500, 4000, 2090, 2500, 3600],
}
)
print(employees_df, "\n")
출력:
Name Age Weight(KG) Height(meters) Salary($)
0 Jonathan 20 65 1.60 3200
1 Will 22 75 1.70 3500
2 Michael 29 80 1.85 4000
3 Liva 20 60 1.69 2090
4 Sia 20 63 1.80 2500
5 Alice 21 70 1.75 3600
DataFrame employees_df
를 사용하여 상관 행렬을 생성하고 시각화하는 방법을 설명합니다.
DataFrame.corr()
메서드를 사용하여 상관 행렬 생성
import pandas as pd
employees_df = pd.DataFrame(
{
"Name": ["Jonathan", "Will", "Michael", "Liva", "Sia", "Alice"],
"Age": [20, 22, 29, 20, 20, 21],
"Weight(KG)": [65, 75, 80, 60, 63, 70],
"Height(meters)": [1.6, 1.7, 1.85, 1.69, 1.8, 1.75],
"Salary($)": [3200, 3500, 4000, 2090, 2500, 3600],
}
)
print("The DataFrame of Employees is:")
print(employees_df, "\n")
corr_df = employees_df.corr()
print("The correlation DataFrame is:")
print(corr_df, "\n")
출력:
The DataFrame of Employees is:
Name Age Weight(KG) Height(meters) Salary($)
0 Jonathan 20 65 1.60 3200
1 Will 22 75 1.70 3500
2 Michael 29 80 1.85 4000
3 Liva 20 60 1.69 2090
4 Sia 20 63 1.80 2500
5 Alice 21 70 1.75 3600
The correlation DataFrame is:
Age Weight(KG) Height(meters) Salary($)
Age 1.000000 0.848959 0.655252 0.695206
Weight(KG) 0.848959 1.000000 0.480998 0.914861
Height(meters) 0.655252 0.480998 1.000000 0.285423
Salary($) 0.695206 0.914861 0.285423 1.000000
DataFrame의 다른 모든 열과 각 열 간의 상관 관계 값이있는 DataFrame을 생성합니다.
상관 값은 숫자 값이있는 열 사이에서만 계산됩니다. 기본적으로corr()
메서드는Pearson
메서드를 사용하여 상관 계수를 계산합니다. 또한 Kendall
및 spearman
과 같은 다른 방법을 사용하여 corr
방법에 method
매개 변수 값을 지정하여 상관 계수를 계산할 수 있습니다.
Matplotlib.pyplot.matshow()
메서드를 사용하여 Pandas 상관 행렬 시각화
import pandas as pd
import matplotlib.pyplot as plt
employees_df = pd.DataFrame(
{
"Name": ["Jonathan", "Will", "Michael", "Liva", "Sia", "Alice"],
"Age": [20, 22, 29, 20, 20, 21],
"Weight(KG)": [65, 75, 80, 60, 63, 70],
"Height(meters)": [1.6, 1.7, 1.85, 1.69, 1.8, 1.75],
"Salary($)": [3200, 3500, 4000, 2090, 2500, 3600],
}
)
corr_df = employees_df.corr(method="pearson")
plt.matshow(corr_df)
plt.show()
출력:
Matplotlib.pyplot
패키지의matshow()
함수를 사용하여employees_df
DataFrame에서 생성 된 상관 행렬을 플로팅합니다.
seaborn.heatmap()
메서드를 사용하여 Pandas 상관 행렬 시각화
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
employees_df = pd.DataFrame(
{
"Name": ["Jonathan", "Will", "Michael", "Liva", "Sia", "Alice"],
"Age": [20, 22, 29, 20, 20, 21],
"Weight(KG)": [65, 75, 80, 60, 63, 70],
"Height(meters)": [1.6, 1.7, 1.85, 1.69, 1.8, 1.75],
"Salary($)": [3200, 3500, 4000, 2090, 2500, 3600],
}
)
corr_df = employees_df.corr(method="pearson")
plt.figure(figsize=(8, 6))
sns.heatmap(corr_df, annot=True)
plt.show()
출력:
seaborn
패키지의heatmap()
함수를 사용하여employees_df
DataFrame에서 생성 된 상관 행렬을 플로팅합니다.
DataFrame.style
속성을 사용하여 상관 행렬 시각화
import pandas as pd
employees_df = pd.DataFrame(
{
"Name": ["Jonathan", "Will", "Michael", "Liva", "Sia", "Alice"],
"Age": [20, 22, 29, 20, 20, 21],
"Weight(KG)": [65, 75, 80, 60, 63, 70],
"Height(meters)": [1.6, 1.7, 1.85, 1.69, 1.8, 1.75],
"Salary($)": [3200, 3500, 4000, 2090, 2500, 3600],
}
)
corr_df = employees_df.corr(method="pearson")
corr_df.style.background_gradient(cmap="coolwarm")
출력:
corr_df
DataFrame 객체의style
속성은Styler
객체를 반환합니다. Styler
객체에background_gradient
를 사용하여 DataFrame 객체를 시각화 할 수 있습니다.
이 방법은IPython
노트북에서만 수치를 생성 할 수 있습니다.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn