【问题标题】:processing timestamps in different formats in Pandas在 Pandas 中处理不同格式的时间戳
【发布时间】:2021-07-28 21:02:15
【问题描述】:

考虑这个简单的例子

import pandas as pd

mydf = pd.DataFrame({'timestamp': ['Tue, 27 Jul 2021 06:43:18 +0000',
                            'Sun, 20 Jun 2021 17:00:17 GMT',
                            'Wed, 28 Jul 2021 08:44:00 -0400']})

mydf
Out[50]: 
                         timestamp
0  Tue, 27 Jul 2021 06:43:18 +0000
1    Sun, 20 Jun 2021 17:00:17 GMT
2  Wed, 28 Jul 2021 08:44:00 -0400

我正在尝试将所有时间戳转换为 GMT 并摆脱时区偏移。 不幸的是,通常的解决方案不起作用

pd.to_datetime(mydf['timestamp']).dt.tz_localize(None)
AttributeError: Can only use .dt accessor with datetimelike values

有什么问题? 谢谢!

【问题讨论】:

    标签: python pandas datetime


    【解决方案1】:

    问题是您的函数调用无法将mydf['timestamp'] 转换为datetime 对象而是普通对象,因此,当您尝试访问.dt 时,它会报错。

    您可以使用标志utc=True 进行时区感知转换。

    pd.to_datetime(mydf['timestamp'], utc=True).dt.tz_localize(None)
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    • 2013-09-01
    • 2010-12-30
    相关资源
    最近更新 更多