将原始日期时间列转换为新时区数据帧

2024-09-30 08:33:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为“ORDdataM”的数据框架,其中有一个DateTimeIndex列“date”,还有一个价格点列“ORDprice”。date列没有与之关联的时区(这很简单),但实际上是在“Australia/ACT”中。我想把它转换成“美国/纽约”时间

                    ORDprice
date    
2021-02-23 18:09:00 24.01
2021-02-23 18:14:00 23.91
2021-02-23 18:19:00 23.98
2021-02-23 18:24:00 24.00
2021-02-23 18:29:00 24.04
... ...
2021-02-25 23:44:00 23.92
2021-02-25 23:49:00 23.88
2021-02-25 23:54:00 23.92
2021-02-25 23:59:00 23.91
2021-02-26 00:09:00 23.82

下面这一行是我反复使用过的一行,但我无法找出错误的地方。唯一的错误消息是: KeyError:“日期”

ORDdataM['date'] = ORDdataM['date'].dt.tz_localize('Australia/ACT').dt.tz_convert('America/New_York')

我也试过了

ORDdataM.date = ORDdataM.date.dt.tz_localize('Australia/ACT').dt.tz_convert('America/New_York')

这里的问题是什么


Tags: 数据框架convertnewdate错误dtact
1条回答
网友
1楼 · 发布于 2024-09-30 08:33:32

您的date不是一列索引,请尝试:

df.index = df.index.tz_localize('Australia/ACT').tz_convert('America/New_York')

df
#                           ORDprice
#date                               
#2021-02-23 02:09:00-05:00     24.01
#2021-02-23 02:14:00-05:00     23.91
#2021-02-23 02:19:00-05:00     23.98
#2021-02-23 02:24:00-05:00     24.00
#2021-02-23 02:29:00-05:00     24.04
#2021-02-25 07:44:00-05:00     23.92
#2021-02-25 07:49:00-05:00     23.88
#2021-02-25 07:54:00-05:00     23.92
#2021-02-25 07:59:00-05:00     23.91
#2021-02-25 08:09:00-05:00     23.82

相关问题 更多 >

    热门问题