[TIL] 21.05.20 시각화+

8256 단어 TILTIL

1. 범주형 데이터 시각화

1-1. 범주형 데이터 비교 시각화 하기 위해 교차표 만들기

df_ct = pd.crosstab(df['F3'], df['F1'])

out :

1-2. 범주형1을 기점으로 범주형2의 데이터별 값을 구분하기 위해 stack함수 사용

# stack()함수만 사용시 시리즈 타입으로 출력된다. 
# reset_index()함수를 사용해서 데이터 프레임 타입으로 출력하고,
# 값을 나타내는 컬럼이 0으로 출력되는데 value로 바꿔준다.
df_stacked = df_ct.stack().reset_index().rename(columns={0:'value'})

out:

1-3. 시각화

# 그래프 배열 및 사이징
fig, ax = plt.subplots(1, 5)	# subplots()로 동시에 여러 그래프를 띄운다.
fig.set_size_inches(30, 5)	# 그래프 사이즈를 정한다.
# 그래프 제목
ax[0].set(title="F1 by F3")
ax[1].set(title="F2 by F3")
ax[2].set(title="F6 by F3")
ax[3].set(title="F8 by F3")
ax[4].set(title="F9 by F3")
# 그래프 표시
sns.barplot(x=stacked.F3, y=stacked.value, hue=stacked.F1, ax=ax[0]);
# x= x축에 기준으로 띄울 것, y= 수치로 띄울 값, hue= 구분지어서 볼것
# ax = 띄울 위치를 정해준다고 볼 수 있다.
# 나머지 출력에 대한 것은 생략...

out:

2. 수치형 데이터 시각화

fig, ax = plt.subplots(1, 3)	# 동시에 띄울 그래프 갯수
fig.set_size_inches(20, 5)	# 그래프 사이즈
# 그래프 제목
ax[0].set(title="F4 by F3")
ax[1].set(title="F5 by F3")
ax[2].set(title="F7 by F3")
# 그래프 표시
sns.barplot(data=df, x='F3', y='F4', ax=ax[0]);
# 나머지 그래프도 동일한 방법으로 사용함으로 생략...

out :

좋은 웹페이지 즐겨찾기