为什么我在python中获得不介绍时间邮票,以在2017-03-12凌晨12点至1点之间进行时间戳记

问题描述 投票:0回答:3
我试图将两个pandas df一起在一个循环中添加两个pandas df时会遇到此错误:

Aggdata=Aggdata.append(Newdata)
这是完整的错误:

File "pandas\tslib.pyx", line 4096, in pandas.tslib.tz_localize_to_utc (pandas \tslib.c:69713) pytz.exceptions.NonExistentTimeError: 2017-03-12 02:01:24
,但是,在我的文件中,我没有这样的时间戳记,但是我确实有03/12/17 00:45:26或03/12/17 00:01:24。夏令前2小时的位置。而且,如果我手动删除有问题的行,我会在3月12日的12点至凌晨1点之间获得下一行的同样错误。

我的原始日期/时间列没有TZ信息,但是我在串联之前计算了EST中的另一列并将其本地定位到EST,并与TZ信息进行时间:

`data['EST_DateTimeStamp']=pd.DatetimeIndex(pd.to_datetime(da‌​ta['myDate'])).tz_lo‌​calize('US/Eastern')‌​.tz_convert('US/East‌​ern')`

在这里进行一些研究,我知道12日的凌晨2点至3点应该是这样的错误,但为什么午夜至凌晨1点。所以我是否将其定位不正确?然后,为什么在附加行上的错误,而不是本地化行?
我能够以非常简单的MCVE复制这种行为,在这里保存:
https://codeshare.io/gljrle

绝对让我想到,仅在接下来的3个附加条件下,该错误是在第三个附录上引起的。在其他话语中,如果我评论最后3份附录副本,它效果很好..无法想象发生了什么。 感谢您阅读。

在情况下,其他人可能仍然会发现这很有帮助:

python pandas dataframe timezone
3个回答
1
投票

问题似乎是在日光节省开关发生的 - 每年有一次当地时间不存在。在相反的方向上将有重复的时间。

这可以说您的输入日期通过添加固定偏移来从UTC转换为“本地时间”。当您尝试本地化时,您将在那个小时(如果您在阿德莱德(Adelaide))中遇到不存在的时间。

1
投票

在文档的最底部

here

,它给出了此示例:


最新问题
© www.soinside.com 2019 - 2025. All rights reserved.