HOWTO · Pandas

Pandas 상관 관계 매트릭스

이 튜토리얼에서는 DataFrame.corr() 메서드를 사용하여 상관 행렬을 생성하고 Matplotlib 모듈에서 pyplot.matshow() 메서드를 사용하여 상관 행렬을 시각화하는 방법을 설명합니다.

이 튜토리얼에서는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 메서드를 사용하여 상관 계수를 계산합니다. 또한 Kendallspearman과 같은 다른 방법을 사용하여 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()

출력:

matshow 방법을 사용하여 상관 행렬 시각화

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의 히트 맵 방법을 사용하여 상관 행렬 시각화

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")

출력:

DataFrame 객체의 스타일 속성을 사용하여 상관 행렬 시각화

corr_df DataFrame 객체의style 속성은Styler 객체를 반환합니다. Styler 객체에background_gradient를 사용하여 DataFrame 객체를 시각화 할 수 있습니다.

이 방법은IPython 노트북에서만 수치를 생성 할 수 있습니다.