2 回答

TA贡献1836条经验 获得超4个赞
使用 tz_localize。
df = df.assign(Date=df['Date'].dt.tz_localize('Europe/Berlin'))
nb:我更喜欢使用 assign 来避免尝试将数据设置到视图。

TA贡献1834条经验 获得超8个赞
# core modules
from datetime import timezone, datetime
# 3rd party modules
import pandas as pd
import pytz
# create a dummy dataframe
df = pd.DataFrame({'date': [datetime(2018, 12, 30, 20 + i, 56)
for i in range(2)]},)
print(df)
# Convert the time to a timezone-aware datetime object
df['date'] = df['date'].dt.tz_localize(timezone.utc)
print(df)
# Convert the time from to another timezone
# The point in time does not change, only the associated timezone
my_timezone = pytz.timezone('Europe/Berlin')
df['date'] = df['date'].dt.tz_convert(my_timezone)
print(df)
添加回答
举报