import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['font.family'] = 'Malgun Gothic'
df_delivery = pd.read_csv('./배달_사용_통계.csv', encoding='utf-8')
df_delivery.columns = df_delivery.columns.str.strip()
df_covid = pd.read_csv('./코로나_확진자_수_통계.csv', encoding='utf-8')
df_covid.columns = df_covid.columns.str.strip()
df = pd.merge(df_delivery, df_covid, on='연도', how='inner')
print(df.keys())
df['연도'] = df['연도'].astype(str).astype(str).str.zfill(2)
df['배달앱'] = pd.to_numeric(df['배달앱'], errors='coerce')
df['배달대행'] = pd.to_numeric(df['배달대행'], errors='coerce')
df['확진자'] = pd.to_numeric(df['확진자'], errors='coerce')
df['사망자'] = pd.to_numeric(df['사망자'], errors='coerce')
df['백신'] = pd.to_numeric(df['백신'], errors='coerce')
df['사망률 감소'] = pd.to_numeric(df['사망률 감소'], errors='coerce')
df['온라인 쇼핑'] = pd.to_numeric(df['온라인 쇼핑'], errors='coerce')
df = df.dropna(subset=['연도', '배달앱', '배달대행'])
fig, axes = plt.subplots(3, 1, figsize=(8, 12))
axes[0].plot(df['연도'], df['확진자'], marker='o', linestyle='-', color='red', label='코로나 확진률(누적)')
axes[0].plot(df['연도'], df['사망자'], marker='o', linestyle='-', color='gray', label='코로나 사망률(누적)')
axes[0].plot(df['연도'], df['배달앱'], marker='o', linestyle='-', color='yellow', label='배달앱 이용률')
axes[0].plot(df['연도'], df['배달대행'], marker='o', linestyle='-', color='orange', label='배달대행 이용률')
axes[0].set_title('배달앱 및 배달대행과 코로나의 관계')
axes[0].set_ylabel('전국민 대비 비율(%)')
axes[0].grid()
axes[0].legend()
axes[1].plot(df['연도'], df['확진자'], marker='o', linestyle='-', color='red', label='코로나 확진률(누적)')
axes[1].plot(df['연도'], df['사망자'], marker='o', linestyle='-', color='gray', label='코로나 사망률(누적)')
axes[1].plot(df['연도'], df['백신'], marker='o', linestyle='-', color='cyan', label='코로나 백신 접종률(누적)')
axes[1].plot(df['연도'], df['사망률 감소'], marker='o', linestyle='-', color='orchid', label='예상 사망률 감소율')
axes[1].set_title('코로나 발생과 백신 효과 분석')
axes[1].set_ylabel('전국민 대비 비율(%)')
axes[1].grid()
axes[1].legend()
axes[2].plot(df['연도'], df['확진자'], marker='o', linestyle='-', color='red', label='코로나 확진률(누적)')
axes[2].plot(df['연도'], df['사망자'], marker='o', linestyle='-', color='gray', label='코로나 사망률(누적)')
axes[2].plot(df['연도'], df['온라인 쇼핑'], marker='o', linestyle='-', color='sandybrown', label='작년 대비 온라인 쇼핑 거래액 증가율')
axes[2].set_title('코로나와 온라인 쇼핑의 관계')
axes[2].set_ylabel('전국민 대비 비율(%)')
axes[2].grid()
axes[2].legend()
for ax in axes:
ax.set_xticks(range(len(df["연도"])))
ax.set_xticklabels(df["연도"], rotation=0)
plt.tight_layout()
plt.show()
bar_width = 0.15
index = range(len(df["연도"]))
fig, axes = plt.subplots(3, 1, figsize=(8, 12))
axes[0].bar(index, df["확진자"], bar_width, label="코로나 확진률(누적)", color="red")
axes[0].bar([i + bar_width for i in index], df["사망자"], bar_width, label="코로나 사망률(누적)", color="gray")
axes[0].bar([i - bar_width * 2 for i in index], df["배달앱"], bar_width, label="배달앱 이용률", color="yellow")
axes[0].bar([i - bar_width for i in index], df["배달대행"], bar_width, label="배달대행 이용률", color="orange")
axes[0].set_title('배달앱 및 배달대행과 코로나의 관계')
axes[0].set_ylabel('전국민 대비 비율(%)')
axes[0].grid()
axes[0].legend()
axes[1].bar(index, df["확진자"], bar_width, label="코로나 확진률(누적)", color="red")
axes[1].bar([i + bar_width for i in index], df["사망자"], bar_width, label="코로나 사망률(누적)", color="gray")
axes[1].bar([i - bar_width for i in index], df["백신"], bar_width, label="백신 접종률(누적)", color="cyan")
axes[1].bar([i - bar_width * 2 for i in index], df["사망률 감소"], bar_width, label="사망률 감소율", color="orchid")
axes[1].set_title('코로나 발생과 백신 효과 분석')
axes[1].set_ylabel('전국민 대비 비율(%)')
axes[1].grid()
axes[1].legend()
axes[2].bar(index, df["확진자"], bar_width, label="코로나 확진률(누적)", color="red")
axes[2].bar([i + bar_width for i in index], df["사망자"], bar_width, label="코로나 사망률(누적)", color="gray")
axes[2].bar([i - bar_width for i in index], df["온라인 쇼핑"], bar_width, label="작년 대비 온라인 쇼핑 거래액 증가율", color='salmon')
axes[2].set_title('코로나와 온라인 쇼핑의 관계')
axes[2].set_ylabel('전국민 대비 비율(%)')
axes[2].grid()
axes[2].legend()
for ax in axes:
ax.set_xticks(index)
ax.set_xticklabels(df["연도"], rotation=0)
plt.tight_layout()
plt.show()
그래프 잘 나오고 데이터도 분야별로 다양함. 근데 코로나의 영향을 아예 안받을 것 같은 게 받은 거랑 그런 독특한 게 있어야 함, 데이터가 조금 더 많아야 하는 쪽으로 하기.