您好我正在寻找一个 python 命令来为特定列设置时区。特别是我的数据框如下所示,我想“说”列“日期”是欧洲/柏林时区的日期。我不想将这个时间转换为欧洲,这意味着 11:02:31 +2:00 是不正确的。你有什么想法把这个时间设置为欧洲/柏林时间吗? Index Date Stamp (s) Value Epoch0 0 2016-07-06 11:02:31 0.1250000 0.0169273 14678029511 1 2016-07-06 11:02:32 1.1250000 0.0168724 14678029522 2 2016-07-06 11:02:33 2.1250000 0.0168620 14678029533 3 2016-07-06 11:02:34 3.1400000 0.0169068 14678029544 4 2016-07-06 11:02:35 4.1400000 0.0168702 1467802955
2 回答
HUH函数
TA贡献1836条经验 获得超4个赞
使用 tz_localize。
df = df.assign(Date=df['Date'].dt.tz_localize('Europe/Berlin'))
nb:我更喜欢使用 assign 来避免尝试将数据设置到视图。
MMMHUHU
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)
添加回答
举报
0/150
提交
取消