pandasで日付を扱う
日付を扱うには
pandasで日付を扱うには、TimeStampが便利である。というより、そうやって扱うことになっている。
適当にparserだかなんだかを指定しなくては行けないこともある。しかし、たいていは何もしないでもいい感じに読み込んでくれる。上の記事の方はcsv形式のファイルを読み込んでいるが、excelでも同じことができる。
現実は厳しい
しかし、今日触ったデータは和暦.月.日という謎フォーマットだった。しかも、時々全角の「.」や半角のスペースが入っていて最悪のシロモノだった。和暦.月.日という謎フォーマットで年月日を表すと、2015年2月14日が27.02.14のようになる。しかも時々、27.02.14とか27. 02.14になるのだ。
結局、うまくTimeStampに変換する方法がわからなかったから無理やりに変換した。流れは、
謎の表記の年月日から「.」や半角のスペースを
replace
で置き換えるto_datetime( 謎の表記の年月日, format='%y.%m.%d')
で無理やり和暦を西暦として認識する
3. すると、平成27年は2027年として認識される
- これを修正するために
- pd.DateOffset(years=12)
としてずれた12年を引く
こういう流れである。まったくもって非効率的な話である。どうにかしていい方法はないものだろうか。