目次
データの読み込み
モジュールのimport
時系列データの扱いにはpandasやnumpyといったモジュールが便利です。
import pandas as pd
import numpy as np
import pandas_datareader.data as web
データ収集
まずは、データの収集です。csvファイルなどでダウンロード
すると思います。
今回は、東京電力のHPから得られる需要データを例にしたいと思います!
# データの読み込み
file1 = "juyo-2021.csv"
df_demand = pd.read_csv(file1, encoding="shift_jis", skiprows=2)
![](https://icochan1.net/wp-content/uploads/2022/09/2982596a7273f36d3a63e6f4247033b5.png)
東京電力のデータは、日本語の列名が使われているので、encoding=”shift_jis”を設定しています。
また、いらない行もあるので、skiprows=2で削除しています。
![](https://www13.a8.net/0.gif?a8mat=3NGROS+5GH2EQ+2HOM+5YJRL)
データの変換
時系列データに変換
このままだと2022年だけ取り出したい!といった処理ができないため、時系列データに変換します。
まず、DATEとTIMEが分かれていると扱いづらいので統合します。
df_demand["DATE_TIME"] = df_demand["DATE"] +" "+ df_demand["TIME"]
このままでは、各時刻が文字列になっているので、datetimeという型に変更します。
さらに、インデックスを時刻にすることで、抽出ができるようにします。
df_demand["DATE_TIME"] = pd.to_datetime(df_demand["DATE_TIME"])
df_demand = df_demand.set_index("DATE_TIME")
これで時系列データに変換できたので、元々あったDATE、TIMEは要らないので削除します。
df_demand = df_demand.drop(["DATE","TIME"],axis=1)
出力はこんな感じになっているはずです。
![](https://icochan1.net/wp-content/uploads/2022/09/8ac58aa2beaee9f025e8f105be8dd07b.png)
データの操作方法
指定の年や月の抽出
指定した年や月での抽出には、中括弧に指定する年月を入れます。
# 2021年のみ抽出
df_demand["2021"]
# 2021年9月のみ抽出
df_demand["2021-9"]
指定の期間の抽出
期間で抽出する際には始端と終端を指定します。
# 2021年3月から5月の抽出
df_demand["2021-3":"2021-5"]
指定の曜日の抽出
曜日は月曜が0、火曜が1、、、日曜が6のように番号が振られています。
# 月曜日の抽出
df_demand[df_demand.index.weekday == 0]
![](https://www10.a8.net/0.gif?a8mat=3NGROS+5I9D82+5244+5ZMCH)
コメント