从熊猫中的unicode转换时间数据

时间:2013-04-30 01:12:35

标签: datetime unicode python-2.7 pandas

我有一个pandas数据帧列,包含时间数据,分钟和秒都是这样的 22:15,19:43等我需要转换它,所以我可以用它做一些计算。数据处于unicode的事实使得这项任务变得更加困难。

1 个答案:

答案 0 :(得分: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