Mar*_*oma 7 timezone datetime pandas
我设法创建了一个显示相同行为的最小示例:
>>> import pandas as pd
>>> df = pd.DataFrame({'id': [1], 'date': ['2017-10-29 02:04:15']})
>>> df['date'] = pd.to_datetime(df['date'])
>>> df['date'].dt.tz_localize('Europe/Berlin')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/math/.local/lib/python3.5/site-packages/pandas/core/accessor.py", line 88, in f
return self._delegate_method(name, *args, **kwargs)
File "/home/math/.local/lib/python3.5/site-packages/pandas/core/indexes/accessors.py", line 99, in _delegate_method
result = method(*args, **kwargs)
File "/home/math/.local/lib/python3.5/site-packages/pandas/core/indexes/datetimes.py", line 2368, in tz_localize
errors=errors)
File "pandas/_libs/tslibs/conversion.pyx", line 977, in pandas._libs.tslibs.conversion.tz_localize_to_utc
pytz.exceptions.AmbiguousTimeError: Cannot infer dst time from '2017-10-29 02:04:15', try using the 'ambiguous' argument
Run Code Online (Sandbox Code Playgroud)
为什么会发生此错误?
的文档tz_localize无法正确解释这一点。
该错误消息说,它不能推断夏令时。现在,也许大家都知道,从夏令时到正常时间的更改发生在10月底的凌晨2:00/3:00,实际上,快速查看日历可以知道我们2017年的夏令时更改已经开始10月29 日。
从夏时制到正常时间的更改是通过以下方式发生的:
因此,时钟有两个不同的时间显示2017-10-29 02:04:15。或者,换句话说,2017-10-29 02:04:15的时间是模棱两可的,却不知道您是否在谈论DST……这正是错误的意思。
| 归档时间: |
|
| 查看次数: |
2616 次 |
| 最近记录: |