大熊猫date_range与本地化的开始和终点

时间:2019-01-28 17:24:05

标签: python pandas python-3.7

当我使用本地时间戳记作为起点和终点时,pandas.date_range经常出错。

dt1 = pd.Timestamp('1970-1-1 00:00:00',tzinfo=datetime.timezone(datetime.timedelta(seconds=3600)))
dt2 = pd.Timestamp('1970-1-2 00:00:00',tzinfo=datetime.timezone.utc)
range = pd.date_range(dt1, dt2, freq='10T')

这失败,因为使用两个不同的时区是模棱两可的:

AssertionError: Inputs must both have the same timezone, UTC+01:00 != UTC

有趣的是,当我尝试这个:

range = pd.date_range(dt1.tz_convert(dt2.tzname()), dt2, freq='10T')

会引发一些有趣的异常

AssertionError: Inputs must both have the same timezone, UTC != UTC

我是否忽略了pandas.Timestamp的某些属性,导致此声明失败或是错误?

注意:我同时针对0.23.4和新发布的0.24.0进行了测试。


编辑:

有趣的是:

range = pd.date_range(dt1.tz_convert(dt2.tzinfo), dt2, freq='10T')

datetime时区与pandas自己的时区中的一个进行比较时,似乎会出现此问题。

仍然不确定是否应该将其视为错误。

0 个答案:

没有答案