개발은 처음이라 개발새발

df.plot() 데이터프레임 그래프 그리기 - 3 본문

파이썬/판다스

df.plot() 데이터프레임 그래프 그리기 - 3

leon_choi 2022. 6. 27. 09:00
반응형

1, 2편에서는 선그래프에 대해 배웠다면 이제는 그래프의 다양한 종류에 대해 알아보겠습니다. df.plot 매소드를 통해서 여러 그래프를 만들 수 있는데요. 판다스에 내장된 그래프 종류는 아래와 같습니다. 

 

판다스 내장 그래프 종류

선 그래프는 df.plot()을 통해서 바로 나올 수 있지만, 다른 그래프 종류들은 그렇지 않습니다. 다른 그래프를 그리기 위해서는 괄호 안에 " kind = " 옵션을 추가해 적용해야 합니다. 지난 시간에 사용한 남북한 발전전량합계 자료를 가지고 막대 그래프를 한번 그려보겠습니다. 코드는 아래와 같습니다. 

 

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_excel('./남북한발전전력량.xlsx', engine='openpyxl')  # 데이터프레임 변환
print(df)
print('\n')

df_ns = df.iloc[[0,5], 3:]  # 남북한 연도별 발전전량 합계 추출

df_ns.index = ['South', 'North'] # 행 인덱스 변경
print('\n')
print(df_ns)

df_ns.columns = df_ns.columns.map(int) # 컬럼 정수형으로 변환

tdf_ns = df_ns.T # df_ns 전치
print('\n')
print(tdf_ns.head())
print('\n')

#수직막대그래프
tdf_ns.plot(kind= 'bar')
plt.show()

남한과 북한의 발전량 격차가 점점 커지는 것이 연도별로 확연하게 보입니다. 그러면 히스토 그램도 해볼까요? 히스토그램은 해당 범위에 얼마나 많이 분포해 있는지를 확인할 수 있는 그래프입니다. 코드는 매우 간단합니다. 막대 그래프는

" kind = bar " 였다면 히스토그램은 " kind = hist "를 입력하면 됩니다. 코드와 결과를 보시겠습니다.

tdf_ns = df_ns.T # df_ns 전치
print('\n')
print(tdf_ns.head())
print('\n')

#히스토그램
tdf_ns.plot(kind= 'hist')
plt.show()

북한은 모든 연도의 전력량이 1000 미만으로 형성돼 있는 것을 확인할 수 있습니다. 반면 남한은 다양한게 분포돼 있고 그중 4000후반~ 5000이상이 가장 많은 빈도를 보이네요. 이렇게 선그래프 말고도 여러 그래프를 그려봤는데요. 포스팅을 진행하면서 다른 종류의 그래프들도 소개해보도록 하겠습니다. 

반응형