【问题标题】:Aligning datetime formats for comparrison对齐日期时间格式以进行比较
【发布时间】:2020-10-03 12:21:28
【问题描述】:

我无法对齐两个不同的日期。我有一个 excel 导入,我在 pandas 中变成了DateTime,我想将这个DateTime 与当前的DateTime 进行比较。问题在于导入的日期时间的格式。

日期的Excel格式:

2020-07-06 16:06:00 (which is yyyy-dd-mm hh:mm:ss)

当我将 DateTime 添加到我的 DataFrame 时,它会创建数据类型 Object。在我使用 pd.to_datetime 对其进行转换后,它会创建格式 yyyy-mm-dd hh:mm:ss. 似乎月份和日期混淆了。

示例代码:

df = pd.read_excel('my path')
df['Arrival'] = pd.to_datetime(df['Arrival'], format='%Y-%d-%m %H:%M:%S')
print(df.dtypes)

预期结果: 2020-06-07 16:06:00

实际结果: 2020-07-06 16:06:00

我该如何解决这个问题?

格,

森帕

【问题讨论】:

    标签: python pandas datetime


    【解决方案1】:

    ISO-8601 日期/时间始终是 yyyy-MM-dd,而不是 yyyy-dd-MM。您已经调换了月份和日期位置。

    虽然本地化的日期/时间字符串在月份和日期的顺序上不一致,但这种以年为先的特殊格式总是以最大的单位(年)开始,然后单位大小逐渐减小(月、日期、小时、等等)

    【讨论】:

    • 我也是这么想的。但不知何故,我无法让它工作。简单地将格式从 format='%Y-%d-%m %H:%M:%S' 更改为 format='%Y-%m-%d %H:%M:%S' 不起作用. DateFrame 中的结果仍然是错误的顺序。
    【解决方案2】:

    解决了。我认为我误解了结果。它已经在我不知情的情况下工作。无论如何感谢您的帮助。

    【讨论】:

      猜你喜欢
      • 2017-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-22
      • 2014-05-03
      • 2017-04-21
      • 2014-02-12
      • 2017-07-02
      相关资源
      最近更新 更多