【问题标题】:Convert datetime to "Europe/Paris"将日期时间转换为“欧洲/巴黎”
【发布时间】:2017-03-24 18:29:28
【问题描述】:

我有一个带有以下 dateTime 变量的数据框 (df) 我必须将此时间格式转换为“欧洲/巴黎”

dateTime  
2016-05-13 00:00:00
2016-06-14 00:00:01
2016-07-15 12:32:02
2016-05-16 02:34:10
2016-05-17 11:00:04

我已经尝试了以下

import datetime,pytz

df['EUTime'] = None
df['EUTime'] = pytz.timezone("Europe/Paris").localize(df['dateTime'], is_dst=None)

AttributeError: 'Series' object has no attribute 'tzinfo'

有人可以帮我吗?

【问题讨论】:

  • 如果这已经是一个日期时间那么你可以做df['dateTime'].dt.tz_localize("Europe/Paris") 如果不是那么先转换df['dateTime'] = pd.to_datetime(df['dateTime']).dt.tz_localize("Europe/Paris")

标签: datetime pandas timezone pytz


【解决方案1】:

您可能需要先转换为datetime dtype,如果是,请使用pd.to_datetime

df['dateTime'] = pd.to_datetime(df['dateTime'])

那么你可以使用dt.tz_localize:

In [50]:
s = s.dt.tz_localize("Europe/Paris")
s

Out[50]:
0   2016-05-13 00:00:00+02:00
1   2016-06-14 00:00:01+02:00
2   2016-07-15 12:32:02+02:00
3   2016-05-16 02:34:10+02:00
4   2016-05-17 11:00:04+02:00
Name: dateTime  , dtype: datetime64[ns, Europe/Paris]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-01
    • 1970-01-01
    相关资源
    最近更新 更多