판다스로 도쿄도 감염자 수의 도표를 쓰다

7114 단어 Python3

동기


아무튼 한가해요.새로운 것에 도전하는 것이 중요하다고 해서 원격 수업이 시작되기 전에Python을 배우고 싶습니다.

환경


OS:macOS Mojave
파이썬 버전: 파이썬 3.7.5rc1
운영 환경: 능동 ruuner

설계


https://catalog.data.metro.tokyo.lg.jp/dataset/t000010d0000000068
에서 기술한 장면은 다음과 같은 절차를 이용하여 명세표를 작성하여 개념 디자인에서 체량의 부피를 분석하도록 한다.이를 토대로 감염자 수를 도표화하다.
도표는pandas,matplotlib,japanize_matplotlib를 사용합니다.
매일 감염자 수를 계산한다면 접선도로 간단하게 도표화할 수 있겠지.
japanize_matplotlib가 설치되어 있지 않으면 도표에서 일본어를 사용할 수 없습니다.
해당 CSV 데이터는 utf-8로 인코딩되었지만 일본어로 할 수 없을 것 같습니다.

코드


hello.py
import pandas as pd
import numpy
import requests
import datetime
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import japanize_matplotlib

#ダイレクトリンクで取得するのはサーバに負担を掛けるのでローカルでやろう。
url = "130001_tokyo_covid19_patients.csv"
#CSV読み込み
csv_data = pd.read_csv(url)  

#printによる省略回避なくてもOK
pd.set_option('display.max_columns',100)  
pd.set_option('display.max_rows',10000)  

#患者数No
num_patients = csv_data["No"].count()
#列ごとに数を取得
num_date = csv_data["公表_年月日"].value_counts()
num_age = csv_data["患者_年代"].value_counts()
num_sex = csv_data["患者_性別"].value_counts()
#グラフ処理のためnum_dateを要素頻度→日付順にソート
num_date = num_date.sort_index()

#画面出力部
print("感染者数={0}".format(num_patients))
print("公表日頻度=\n{0} \n{1}".format(num_date,num_age))
print("性別=\n{0}".format(num_sex))
print(type(num_date))

#グラフ出力部
plt.figure()
#日付が入るようにX軸90°回転lengendは、凡例の表示位置
num_date.plot(rot=90,legend='reverse') 
plt.savefig('sample_fig.png')
plt.close("all")


print의format 방법은 지나치게 신경 쓸 필요가 없습니다.
따라서 변수는 print(num_patients)일 수 있습니다.
퇴원 표지 등도 추가됐지만 값으로 난이나 1.0만 받을 수 있다.사망도 퇴원에 포함된 것 같다.

그림 1.출력된 차트



감상


pandas의 2차원 그룹?일반적인 2차원 그룹과 다름없이 혼란스럽다.
일반적인 (default) 2차원 그룹의 방법은pandas의 2차원 그룹에서 호출할 수 없습니다.
(방법이 없어서)
자바로 하면 100일 정도 걸릴 것 같은데 파이썬에서 하루에 할 수 있어서 감동이에요.
한편으로는 실용적인 프로그램 라이브러리가 많고, 다른 한편으로는 어떤 것을 사용해야 혼란스럽기 쉽다.

향후 전망


나는 일기예보와 기온 등의 상관성을 통해 관상바이러스가 기온으로 인해 약해지지 않는다는 것을 부정하고 싶다.
겨울에서 봄까지의 데이터만 수집했기 때문에 수도권의 최근 기온 흐름을 이용하고 싶다
측정할 필요 없이 기온과 상관없이 환자가 늘고 있어 부정할 수 없다.

참고 자료


판다스 정보
https://qiita.com/ysdyt/items/9ccca82fc5b504e7913a
matplotlib 정보
https://blog.codecamp.jp/python-Matplotlib
japanize_matplotlib 정보
https://qiita.com/uehara1414/items/6286590d2e1ffbf68f6c

거부하다


데이터 등은 집필 당시의 것이다.최신 데이터와 정부의 지시와 요구를 따르십시오.
이 보도는 결코 의학적으로 정확하다는 것을 표시하지 않는다.

좋은 웹페이지 즐겨찾기