この22:15、19:43などの分と秒の時間データで構成されるpandasデータフレーム列があります。これを変換して計算できるようにする必要があります。データが Unicode であるという事実が、この作業をより困難にしています。
質問する
1347 次
1 に答える
3
datetime と timedelta を使用して、解析と計算を行うことができます。
In [84]: import pandas as pd
In [85]: from datetime import datetime, timedelta
In [86]: def convert(s):
t = datetime.strptime(s, "%H:%M")
return timedelta(hours=t.hour, minutes=t.minute)
In [87]: df = pd.DataFrame({'A':[u'22:15', u'19:43']})
In [88]: df
Out[88]:
A
0 22:15
1 19:43
In [89]: dfc = df.applymap(convert)
In [90]: dfc
Out[90]:
A
0 22:15:00
1 19:43:00
dfc は timedelta オブジェクトを保持し、これらを使用して計算を行うことができます。たとえば、24 時間を追加します。
In [91]: dfc + timedelta(hours=24)
Out[91]:
A
0 1 day, 22:15:00
1 1 day, 19:43:00
于 2013-04-30T08:36:02.630 に答える