【问题标题】:converting time data from unicode in pandas在 pandas 中从 unicode 转换时间数据
【发布时间】:2013-04-23 19:55:27
【问题描述】:

我有一个 pandas 数据框列,其中包含像这样的分钟和秒的时间数据 22:15、19:43 等。我需要对其进行转换,以便我可以用它进行一些计算。数据采用 unicode 格式的事实使这项任务变得更加困难。

【问题讨论】:

  • 你能显示你正在尝试做什么以及你有什么错误吗?这些是时间增量吗?字符串?
  • 如果我能去掉微小的部分就足够了。
  • 最好提供一些例子。
  • 熊猫是什么鬼?
  • pandas 是一个python库pandas.pydata.org

标签: datetime unicode python-2.7 pandas


【解决方案1】:

您可以使用 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-23
    • 2015-05-08
    • 1970-01-01
    • 2020-12-29
    • 2022-11-30
    • 2018-08-28
    • 2021-01-06
    • 2017-06-06
    相关资源
    最近更新 更多