【问题标题】:Why did pandas format my datetime 1999-12-02 19:30:00+00:00为什么 pandas 格式化我的日期时间 1999-12-02 19:30:00+00:00
【发布时间】:2019-08-13 22:58:22
【问题描述】:

我有一个 CSV 中的数据,其中 Date_Time 列包含以下格式的日期时间:1999-12-02T19:30:00Z。这显示了天气传感器何时对数据进行采样。使用 Pandas,我想将时间戳转换为以后可以用来重新采样数据的格式。

我将 CSV 读入数据框。然后我使用 pd.to_datetime 将原始的 Date_Time 列转换为 Pandas 日期时间,但在每个时间戳之后都得到了一个额外的 +00:00。

df['Date_Time'] = pd.to_datetime(df['Date_Time'])

我原本希望得到 1999-12-02 19:30,但得到了 1999-12-02 19:30:00+00:00。我在尝试重新采样时遇到了问题,想先解决这个问题,看看是不是问题。

【问题讨论】:

  • 您的原始日期时间数据有时区吗?
  • 你尝试得到正确的format=

标签: python pandas datetime


【解决方案1】:

原始时间戳中的 Z 表示“零小时偏移”或 UTC 时间。这似乎在您的熊猫数据框中显示为 +00:00

您可以尝试删除时区

df['Date_Time'] = pd.to_datetime(df['Date_Time'].df.tz_localize(None))

【讨论】:

  • 感谢您揭示问题的根源!
  • 我刚刚更新了我的答案,应该会减慢您的速度,将其保留为时间戳,而不是像上面的答案那样将其转换为字符串
【解决方案2】:

只需格式化:

df['Date_Time1'] = df['Date_Time'].dt.strftime('%Y-%m-%d %H:%M')

【讨论】:

  • 请记住该列现在不再是时间戳,而是字符串。
猜你喜欢
  • 1970-01-01
  • 2014-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-25
  • 1970-01-01
  • 2016-05-25
相关资源
最近更新 更多