pd.to_timedeltaの使い方メモ

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文をつかっています。
他にいい方法があれば知りたいものです。

以上

関連する投稿:

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください