为了账号安全,请及时绑定邮箱和手机立即绑定

Python:设置数据框列的时区

Python:设置数据框列的时区

慕神8447489 2023-03-01 15:10:33
您好我正在寻找一个 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 来避免尝试将数据设置到视图。


查看完整回答
反对 回复 2023-03-01
?
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)


查看完整回答
反对 回复 2023-03-01
  • 2 回答
  • 0 关注
  • 85 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信