pd.to_timedelta()が以前のバージョンと新しいバージョンで仕様が変わったようです。
以前、’0:36:54’を経過時間に変更する際に「pd.to_timedelta」を使いましたが、
久しぶりに試してみるとできなくなっていました。
以前のブログ
http://jbclub.xii.jp/?p=464
import pandas as pd tmd = pd.to_timedelta('0' + tm['Time']) ↓↓↓こんなエラーメッセージが出るようになりました。 TypeError: Expected str, got unicode
バージョンを調べてみる。
pd.__version__ Out[6]: u'0.17.0'
以前は0.16.2でした。
↓↓↓こんな感じでできました。
from pandas import Series, DataFrame Series([pd.to_timedelta(str(i)) for i in tm['Time']]) Out[7]: 0 00:36:54 1 01:04:20 2 01:32:02
以前の0.16.2では「0:36:54」こういう形ではエラーになったので
わざわざ
'0' + tm['Time']
をしていましたが、今回は必要なくなっています。
ただ、Series型で出力できなくなったので、for文をつかっています。
他にいい方法があれば知りたいものです。
以上