python-3.x - 不明确的时间错误 Pandas

标签 python-3.x pandas

df['first_timestamp'] = pd.to_datetime(df['first_timestamp']).dt.tz_localize('US/Central', ambiguous='infer')
df['second_timestamp'] = pd.to_datetime(df['second_timestamp']).dt.tz_localize('US/Central', ambiguous='infer')

AmbiguousTimeError: 2014-11-02 01:02:14

这些时间戳来自不包含时区的 csv 文件。如果可能的话,我想在将时区加载到我的数据库之前添加时区。该代码的模棱两可部分是不是我做错了什么?我仍然收到错误。

最佳答案

此日期时间在中央时间存在两次,例如见 here :

Nov 2, 2014 - Daylight Saving Time Ended
When local daylight time was about to reach
Sunday, November 2, 2014, 2:00:00 am clocks were turned backward 1 hour to
Sunday, November 2, 2014, 1:00:00 am local standard time instead
Sunrise and sunset was about 1 hour earlier on Nov 2, 2014 than the day before. There was more light in the morning.



如果这些实际上是 UTC,您应该从 UTC 本地化:
In [11]: pd.Series([pd.Timestamp("2014-11-02 01:02:14 UTC")]).dt.tz_convert('US/Central')
Out[11]:
0   2014-11-01 20:02:14-05:00
dtype: datetime64[ns, US/Central]

或者将 True 传递给模棱两可的标志(而不是 'infer' )来选择一个:
In [12]: pd.Series([pd.Timestamp("2014-11-02 01:02:14")]).dt.tz_localize('US/Central', ambiguous=True)
Out[12]:
0   2014-11-02 01:02:14-05:00
dtype: datetime64[ns, US/Central]

关于python-3.x - 不明确的时间错误 Pandas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43879127/

相关文章:

python - 超出 'range optimizer max mem_size' 的内存容量

python - 更改 pandas 日期格式以删除前导零的更好方法?

python - 广播 numpy 数组值

python - 如何在 DataFrame 的每一行上添加两列的 value_counts?

python - 在 Ubuntu 18.04 上安装 Pandas 时出错

python - 按元素有效地分组数组

python - 如何使用requirements.txt为不同的python 3版本指定不同的包版本

python - 与 Python 代码相比,我如何提高 Rust 代码的性能?

python - pandas 数据框中带有附加问题的时间序列

python - 按范围内缺失值的聚合分组