時系列データのCSVインポート

やりたいこと

列名が日本語だったり、日付のデータ型が文字列なデータフレームを、扱いやすいように変換

  • Before f:id:iiiiikamirin:20201009185424p:plain

  • After f:id:iiiiikamirin:20201009185312p:plain

参考サイト

pandas.DataFrame, Seriesを時系列データとして処理 | note.nkmk.me

コード

import pandas as pd
import numpy as np
import datetime

df0 = pd.read_csv('input/USDJPY.csv')
replace_dict = {'終値': 'LastPrice', '始値': 'StartPrice'\
               ,'高値': 'HighPrice', '安値': 'LowPrice'\
               ,'前日比%': 'Change', '日付け': 'date'}
df0 = df0.rename(columns = replace_dict)
df0['date'] = pd.to_datetime(df0['date'], format = '%Y年%m月%d日')
df0 = df0.set_index('date')

pd.to_datetimeで列ごと文字列から日付型へ変換可能

ただ、2020年10月9日みたいな標準的な形式ではない場合、formatを指定する必要有