ComputerLanguage_Program/PYTHON
[Python] seaborn 을 이용한 heatmap 제작( + 다중 groupby)
pbj0812
2021. 2. 14. 22:32
0. 목표
- seaborn 을 이용한 heatmap 그리기
1. 이중 group by 확인 예제
1) library 호출
import pandas as pd
2) 데이터 생성
df = pd.DataFrame({'a' : [1, 2, 3, 4, 1],
'b' : [1, 1, 1, 1, 1],
'c' : [2, 3, 5, 10, 11]})
3) 이중 group by 를 통한 숫자 세기
df.groupby(by=['a', 'b'], as_index=False).count()
2. seaborn 을 통한 heatmap 제작
1) library 호출
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
2) 더미 데이터 생성
a = []
b = []
c = []
for i in range(1000):
a.append(np.random.randint(21))
b.append(np.random.randint(21))
c.append(np.random.randint(21))
3) 데이터 프레임 생성
data = pd.DataFrame({'CNT1' : a, 'CNT2' : b, 'CNT3' : c})
data.head()
4) group by
summary = data.groupby(by = ['CNT1', 'CNT2'], as_index = False).count()
5) 피벗
pivot = summary.pivot('CNT1', 'CNT2', 'CNT3')
6) heatmap 생성
fig = plt.figure()
fig.set_size_inches(15, 15)
sns.heatmap(pivot, annot=True)
plt.title('heat map', fontsize=20)
3. 참고
- [Python][Pandas] Group By (집계) 기초
- [Python] 히트맵 그리기 (Heatmap by python matplotlib, seaborn, pandas)