Python

[Matplotlib] 두 컬럼간의 관계, Scatter, regplot, pairplot, Heat map

yugyeong 2022. 11. 28. 14:54

 

Scatter

 

import matplotlib.pyplot as plt
import seaborn as sb

필요한 라이브러리를 임포트 해준다.

 

 

두 컬럼간의 관계를 차트로 나타내는 방법이다.

여기서 관계란 ? 비례관계,  반비례관계 , 아무관계 없음 - 이 세가지를 말한다.

 

 

 

 

두개의 컬럼을 비교하고 싶을 때 scatter을 사용하면 된다.

plt.scatter() 을 이용할 때 파라미터 data에는 데이터프레임명, x, y 에는 비교하고자하는 컬럼명을 적어주면 된다.

 

 

아래의 차트가 예시이다.

plt.scatter(data= df, x= 'displ', y= 'comb')의 data에는 데이터프레임명 df를 넣어주고, x에는 컬럼명 'displ', y에는 두번째 컬럼명 'comb' 를 넣었을 때의 결과를 리턴해준다

 

 

 

 

상관계수 corr()

 

두 컬럼을 비교할 때, 두 컬럼간의 관계를 말해주는 상관계수가 아주 중요하다.

상관계수를 계산하는 방법은 corr() 함수를 이용하면 된다. 

df.corr() 를 했을 때 df 컬럼들의 관계를 나타내주는 상관계수 결과가 리턴된 것이 보인다.

 

만약 원하는 컬럼들의 상관계수만 출력하고자 한다면, df[['displ','comb']].corr() 와 같이 리스트 형식으로 corr() 함수를 이용하면 된다.

 

 

 

 

regplot

 

reg 의 뜻 ? regression : 데이터에 fitting 한다는 의미이다.

 

seaborn 의 두컬럼간의 관계를 차트로 표시할 수 있는 방법이다.

 

차트를 리턴받고자 할 때는, sb.regplot() 으로 작성을 하고 괄호안에는 scatter 차트 호출과 동일한 방식으로 data에는 데이터프레임명, x에는 비교하고자하는 첫번째 컬럼명, y에는 비교하고자 하는 두번째 컬럼명을 넣어주면 된다.

 

 

 

 

pairplot 

 

세번째로 컬럼들간의 비교를 하기 위해서 seaborn의 pairplot 을 이용하는 방법이다

 

sb.pairplot() 으로 작성을 하고 괄호 안에는 data에 비교하고자 하는 컬럼이 표함된 데이터프레임명, vars에는 비교하고자 하는 컬럼들을 리스트 형식으로 작성해주면 된다.

 

 

 

 

 

 

Heat map

 

scatter나 regplot 은 데이터가 얼마나 뭉쳐있는지 알 수가 없기 때문에 이를 보완하기 위해서는 heat map을 이용한다.

heat map으로는 데이터가 많고 적음을 표시할 수 있다.

 

 

plt.hist2d() 을 이용하면 된다. 괄호 안에는 data에 데이터프레임명, x,y 에는 비교하고자 하는 컬럼명을 적어주면 된다.

 

그 외 다른 파라미터 값들이 존재하는데, cmin은 heat map 에서 데이터들이 없는 곳은 색을 표시하지 않도록 해주는 파라미터이다.

cmap= 'viridis_r'은 컬러맵의 색을 바꿔주는 파라미터이다.

 

plt.colorbar() 는 컬러바를 오른쪽에 나타나게 해주는 파라미터이다.