COMDORI Blog

컴돌이 블로그에 오신것을 환영합니다!

자세히보기

Works Review/2021년 공공데이터 청년 인턴(일경험 수련생)

[2021년 공공데이터 청년인턴] 10월 전공과제(파이썬을 활용한 분석 실습)

COMDORI 2021. 11. 8. 11:00
728x90
반응형

2021.06.15 - [Review/2021년 공공데이터 청년 인턴(일경험 수련생)] - [2021년 공공데이터 청년인턴] 모집 및 개요

2021.06.18 - [Review/2021년 공공데이터 청년 인턴(일경험 수련생)] - [2021년 공공데이터 청년인턴] 서류 접수 (자소서) 방법 및 결과

2021.06.28 - [Review/2021년 공공데이터 청년 인턴(일경험 수련생)] - [2021년 공공데이터 청년인턴] 온라인 AI면접

2021.07.01 - [Review/2021년 공공데이터 청년 인턴(일경험 수련생)] - [2021년 공공데이터 청년인턴] 학습 성취도 사전진단

2021.07.05 - [Review/2021년 공공데이터 청년 인턴(일경험 수련생)] - [2021년 공공데이터 청년인턴] 기본역량교육

2021.07.12 - [Review/2021년 공공데이터 청년 인턴(일경험 수련생)] - [2021년 공공데이터 청년인턴] 기본역량교육 최종시험

2021.07.26 - [Review/2021년 공공데이터 청년 인턴(일경험 수련생)] - [2021년 공공데이터 청년인턴] 희망기관 선택

2021.08.03 - [Review/2021년 공공데이터 청년 인턴(일경험 수련생)] - [2021년 공공데이터 청년인턴] 메인홈페이지

2021.08.09 - [Review/2021년 공공데이터 청년 인턴(일경험 수련생)] - [2021년 공공데이터 청년인턴] 출퇴근 페이지

2021.08.23 - [Review/2021년 공공데이터 청년 인턴(일경험 수련생)] - [2021년 공공데이터 청년인턴] 상시교육 및 방법

 

 

 

10월 상시교육 과제 전공트랙, "파이썬을 활용한 데이터 분석 실습" 입니다.

 

Q1. 서울시 코로나19 확진자 현황 시트 데이터를 사용하여, 구별() 진자 발생 추이를 꺾은선 그래프로 주 단위로 출력하시오.

 

 

 

 

import pandas as pd
import pandas as pd
import numpy as np

df = pd.read_csv('./1.csv')
df = df.sort_values(by="연번", ascending=False)
df.head()
import matplotlib.pyplot as plt
plt.rc("font", family="Malgun Gothic") # Windows
plt.rc("axes", unicode_minus=False) 

df["확진일"] = pd.to_datetime(df["확진일"])
df["년"] = df["확진일"].dt.year
df["월"] = df["확진일"].dt.month
df["주"] = df["확진일"].dt.week

df["확진일"].value_counts().sort_index().plot(figsize=(15,4))
plt.axhline(200, color='red', linestyle=":")
df.groupby(["월", "년"])["연번"].count().unstack().plot.bar(figsize=(10,4))

df.groupby(["주", "년"])["연번"].count().unstack().plot.bar(figsize=(10,4))
plt.show()
df["지역"].unique()
df["지역"] = df["지역"].str.strip()
df["지역"].unique()
gu_etc_count = df["지역"].value_counts()
gu_etc_count.sort_values().plot.barh(figsize=(10,20))
df.groupby(["주", "년"]).count().unstack().plot.bar(figsize=(10,4))

df.groupby(["주", "지역"])["연번"].count().unstack().plot(figsize=(20,10))
plt.show()

Q2. 서울시 지하철 호선별 역별 시간대별 승하차 인원 정보 시트 데이터와 서울특별시 코로나19 백신 예방접종 현황 시트 데이터를 사용하여, 20211월부터 20219월까지의 2차 누적접종률을 월 단위로 막대그래프로 출력하고(데이터가 없을 경우 0 표기), 호선별 월 이용 인원을 꺾은선 그래프로 함께 출력하시오.

 

 

 

 

 

 

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

excel_url = './data.xlsx'
df = pd.read_excel(excel_url, sheet_name = 3)
condition = (df['사용월'] >= 202101) & (df['사용월'] <= 202109)
df=df[condition]

df_temp = df.drop(['작업일자','사용월'],axis=1)
df['총이용인원']=df_temp.sum(axis=1)
df

sorted_series3 =df.groupby(['호선명','사용월'])['총이용인원'].sum()
sorted_df = pd.DataFrame(sorted_series3, columns=['총이용인원'])
pd.DataFrame(sorted_df.loc['1호선','총이용인원'])

import seaborn as sns
%matplotlib inline

plt.rcParams['axes.unicode_minus'] = False

table=sorted_df.pivot_table(values='총이용인원', index='사용월', columns='호선명', fill_value=0)
table

x_data2 = ["","202101","202102","202103","202104","202105","202106","202107","202108","202109"]
ax=table.plot(figsize=(20,15))
ax.set_xticklabels(x_data2)

df2 = pd.read_excel(excel_url, sheet_name = 4)
condition = (df2['접종일'] >= "2021.01.01") & (df2['접종일'] <= "2021.09.31") #조건식 작성
df2=df2[condition]
df2

import calendar
x_data = ["21.01","21.02","21.03","21.04","21.05","21.06","21.07","21.08","21.09"]
y_data = []
for i in range(1,10):
    day = calendar.monthrange(2021, i)[1]
    condition2 = (df2['접종일'] == "2021."+"0"+str(i)+"."+str(day))
    if(len(df2[condition2]) == 0):
        y_data.append(0)
    else:
        y_data.append(df2[condition2]['2차접종률(%)'])
            
x_data2 = [202101,202102,202103,202104,202105,202106,202107,202108,202109]

plt.ylim([10, 100])
plt.bar(x_data2,y_data)

plt.rcParams['figure.figsize'] = (36, 24)
fig, ax1 = plt.subplots()
ax1.plot(table)
x_data2 = [202101,202102,202103,202104,202105,202106,202107,202108,202109]

ax1.set_xticklabels(x_data2)
ax1.tick_params(axis='both', direction='in')

ax2 = ax1.twinx()
ax2.bar(x_data2,y_data)
ax2.tick_params(axis='y', direction='in')

 

2021.11.22 - [Review/2021년 공공데이터 청년 인턴(일경험 수련생)] - [2021년 공공데이터 청년인턴] 진척도관리

 

[2021년 공공데이터 청년인턴] 진척도관리

2021.06.15 - [Review/2021년 공공데이터 청년 인턴(일경험 수련생)] - [2021년 공공데이터 청년인턴] 모집 및 개요 2021.06.18 - [Review/2021년 공공데이터 청년 인턴(일경험 수련생)] - [2021년 공공데이터 청..

comdori.tistory.com

 


본 게시글이 도움되셨으면 광고, 공감 ♡ 클릭 부탁드립니다! 
#컴돌이블로그 #컴돌이 #COMDORI

 

 

728x90
반응형