데이터 분석/Python - pandas

[실습] 시각화 : 기본 그래프

toraa 2025. 1. 13. 14:25

진료정보_통합.csv 파일에서 다음 작업 수행

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
plt.rc('font', family='Malgun Gothic')

한글 불러올때는 폰트 설정해주기

 

1. '날짜'가 '2023' 보다 크고 '지역명'이 '서울'인 관측치를 인덱싱

df1 = pd.read_csv('data/진료정보_통합.csv')
df_23 = df1[(df1['날짜']>'2023')&(df1['지역명']=='서울')]

날짜형으로 원래 바꾸는것이 좋음. 일단 '2023'을 문자형으로 bool 비교.

 

2. 1번 결과에서 날짜별 감기의 추이를 선그래프로 그리기(데이터타입 유의)

x = df_23['날짜']
y = df_23['감기']

plt.figure(figsize=(10,5))
ax= plt.subplot()
ax.plot(x,y)
plt.show()

1번 결과에서 날짜별 감기의 추이를 선그래프로 그리기(데이터타입 유의)

 

3. 기존 데이터에서 '지역명'이 '전국'이 아닌 관측치만 인덱싱

df_nt = df1[df1['지역명']!='전국']

 

 

4. 3번 결과에서 '지역명'으로 그룹화 하여 감기의 평균을 수직 막대그래프로 그리기

df_gp = df_nt.groupby('지역명', as_index = False)['감기'].mean()
df_gp
plt.figure(figsize=(10,6))
ax = plt.subplot()
sns.barplot(df_gp, x='지역명', y='감기', ax=ax)
plt.show()

 

5. 기존 데이터에서 '날짜'가 '2023'보다 크고 '지역명'이 '전국'이 아닌 관측치만 인덱싱

df_sub = df[(df['날짜'] > '2023') & (df['지역명'] != '전국')]

 

6. 5번 결과에서 '감기'와 '피부병'에 관계를 산점도 그래프로 그리고 '지역명' 별로 색상이 다르게 표현

plt.figure(figsize=(10,6))
ax = plt.subplot()
sns.scatterplot(df_sub, x ='감기', y='피부병', hue = '지역명', ax = ax, alpha=0.7)
plt.show()
ax=plt.subplot()
sns.scatterplot(data=df_24, x='감기',y='피부병', hue = '지역명', ax = ax, alpha=0.7)
plt.show()