【PythonでCIVID-19分析】日本版(1) Part6: データの前処理編 1-6(キャスト・csv書き込み)

投稿者: | 2020年6月1日

ようやく前回で前処理を完了しました。

今回はこのデータをcsvファイルに書き込みして完成させようと思います。

と、その前にもう1件気になったことがあるので、そこを先に変更してしまおうと思います。

Confirmedの数字ですが、現在は小数点になっています。

ここは整数で良い部分だと思うので、キャストで型変換を行っておこうと思います。

c19j1_df["Confirmed"] = c19j1_df["Confirmed"].astype(np.int64)
c19j1_df.info()

でキャストした結果が以下になります。

無事『Confirmed』の列がint型に型変換されています。

問題なく整数で表示されています。

いよいよこのデータをcsvファイルに書き込もうと思います。

#csvファイルに書き込み
c19j1_df.to_csv("c19j1_df_20200516.csv", index = False, encoding="utf-8")

ファイル名は最新のデータが日付が分かるようにしました。

今回の場合は、ダウンロードした5月16日のデータが最新なので、20200516とファイル名に表示することになります。

書き出しデータにindexは不要なので書き込みしない処理も行っています。

これでようやく前処理が完了しました。

以下が完成したプログラムとなります。

import pandas as pd
import numpy as np

c19_j1 = pd.read_csv("SIGNATE_COVID19.csv" , encoding = "utf=8")

#1行目を削除
c19_j1 = c19_j1[1:]

#2列目・3列目の削除
del c19_j1["日本国内\n累計罹患者数"]
del c19_j1["日本国内\n新規罹患者数"]

c19_j1.head()

#欠損値の確認
c19_j1.isnull().sum()

#欠損値の削除
c19_j1 = c19_j1.dropna()
#欠損値の再確認
c19_j1.isnull().sum()

# 作成したデータフレームを格納する空のリストを作成
lo_df = []

# カラムの都道府県をfor分で回す
for i in c19_j1.columns[1:]:
    # 日付と該当する都道府県の感染者数の二列のデータを作成
    x = c19_j1[["日付", i]].copy()

    # カラム「Location」を作成し、該当する都道府県名を入力
    x["Location"] = i

    # 2列目のカラムを都道府県名から「Confirmed」に変更
    x = x.rename(columns={i: "Confirmed"})

    # 1列目のカラムを日付から「Date」に変更
    x = x.rename(columns={"日付": "Date"})

    # 変数xをデータフレームlo_dfに格納
    lo_df.append(x)

# リストに格納されたデータフレームの確認
lo_df[0]

lo_df[0].tail()

lo_df[46].head()

lo_df[46].tail()

#データの結合
c19j1_df = pd.concat(lo_df , sort=False, ignore_index=True)
c19j1_df.head()
c19j1_df.tail()

#データ数の確認
len(c19j1_df)

#欠損値の確認
c19j1_df.isnull().sum()

#Confirmedをキャスト
c19j1_df["Confirmed"] = c19j1_df["Confirmed"].astype(np.int64)
c19j1_df.info()

c19j1_df.head()
c19j1_df.tail()

#csvファイルに書き込み
c19j1_df.to_csv("c19j1_df_20200516.csv", index = False, encoding="utf-8")

このプログラムをc19j1_df_ver1.0と呼称しようと思います。

ようやく分析に、さらには可視化にも取り組めるようになりました。

しかし、このプログラグムが最新のSIGNATE COVID-19 Case Datasetに対して問題なく動作するかどうかが分かりません。

内容が変更されていると正しく動作しない可能性があり、必要ならコードを修正する必要があります。

分析・可視化へと進む前に、次回は最新のデータでc19j1_df_ver1.0の動作検証を行おうと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です