折りたたみを展開する

おぼえ書き、まとめ、発表など

pandasで日付を扱う

日付を扱うには

pandasで日付を扱うには、TimeStampが便利である。というより、そうやって扱うことになっている。

qiita.com

適当にparserだかなんだかを指定しなくては行けないこともある。しかし、たいていは何もしないでもいい感じに読み込んでくれる。上の記事の方はcsv形式のファイルを読み込んでいるが、excelでも同じことができる。

現実は厳しい

しかし、今日触ったデータは和暦.月.日という謎フォーマットだった。しかも、時々全角の「.」や半角のスペースが入っていて最悪のシロモノだった。和暦.月.日という謎フォーマットで年月日を表すと、2015年2月14日が27.02.14のようになる。しかも時々、27.02.14とか27. 02.14になるのだ。

f:id:Rlan:20170608174100p:plain

結局、うまくTimeStampに変換する方法がわからなかったから無理やりに変換した。流れは、

  1. 謎の表記の年月日から「.」や半角のスペースをreplaceで置き換える

  2. to_datetime( 謎の表記の年月日, format='%y.%m.%d') で無理やり和暦を西暦として認識する

3. すると、平成27年は2027年として認識される

  1. これを修正するために- pd.DateOffset(years=12) としてずれた12年を引く

こういう流れである。まったくもって非効率的な話である。どうにかしていい方法はないものだろうか。