今回のテーマは,時系列index
です.今回,実際のデータには手を加えませんが,大事な大事な前処理ってやつの1つかもしれませんね.おろそかにするとあとで苦労するので頑張ってやりましょう.
はじめましての方のために,一応前回記事へのリンクを貼っておきます.
https://qiita.com/KogeTakahiro/items/2207bf138af8e474ce04
この記事のモチベーションとかが書いてあります.読んでくださるとより理解が深まるかもしれません.
時系列indexとは,時間軸tのことです.
のことです.日付とかそういうもののことを指します.そもそも時系列indexという表現が一般的な表現かどうかはわかりません.
では,今回のデータではどうなっているのでしょう?
さて,早速データを見ていきましょう.2017年の一年間のデータを用います.
データダウンロードはここからどうぞ
注:PC上で保存する際は,3行目から下のみを保存してください
(データのダウンロードに関する記事は,そのうち別で書きますね)
時系列indexっていろんな形で格納されている.
import pandas as pd
data = pd.read_csv('path_to_data/file_name.csv') #かっこの中は置き換えてください
data.head(5) #データの頭5行のみを表示
実行結果
DATE | TIME | DEMAND(10GW) | |
---|---|---|---|
0 | 2017/1/1 | 0:00 | 2783 |
1 | 2017/1/1 | 1:00 | 2634 |
2 | 2017/1/1 | 2:00 | 2520 |
3 | 2017/1/1 | 3:00 | 2438 |
4 | 2017/1/1 | 4:00 | 2389 |
(便宜上,一番右のカラム名を英語表記に変更してあります.) | |||
見たところ,日付と時間が別に記録されているようです.しかし,これでは時間軸tが1つに統一されておらず,今後使いづらいので1つにしておきます. |
#DATEとTIMEを文字列でくっつけて,datetimeという行を作る.
data['datetime'] = data.apply(lambda x: str(x['DATE'])+' '+str(x['TIME']),axis=1)
#datetimeの行を,
data['datetime'] = pd.to_datetime(data['datetime'], format='%Y/%m/%d %H:%M')
実行結果
DATE | TIME | DEMAND(10GW) | datetime | |
---|---|---|---|---|
0 | 2017/1/1 | 0:00 | 2783 | 2017-01-01 00:00:00 |
1 | 2017/1/1 | 1:00 | 2634 | 2017-01-01 01:00:00 |
2 | 2017/1/1 | 2:00 | 2520 | 2017-01-01 02:00:00 |
3 | 2017/1/1 | 3:00 | 2438 | 2017-01-01 03:00:00 |
4 | 2017/1/1 | 4:00 | 2389 | 2017-01-01 04:00:00 |
~書き途中です.以後追記していきます~