【问题标题】:Difference between two dates yields different results两个日期之间的差异会产生不同的结果
【发布时间】:2018-11-14 16:58:59
【问题描述】:

以下是示例熊猫数据框的示例,我试图找出两行中日期之间的差异(以日期最少的行为基础 - 在本例中为第二行)。 2 个日期之间的差异大于 90 天,因此我期望 2 行为“假”。但由于某种原因,结果看起来不同。

PH_number   date        Type
H09879721   2018-10-29  AccountHolder
H09879731   2018-07-24  AccountHolder

Code:
print(df.date.diff()<=pd.Timedelta(90,'d'))

Current Result:
False
True

Expected Result:
False
False

任何建议将不胜感激。

【问题讨论】:

  • @SandeepKadapa:日期应该在 90 天内 - 因此我相信
  • 如果它提供了您需要的结果,请accept and upvote。

标签: pandas date date-formatting


【解决方案1】:

使用abs 当差异为负时,请注意:

df.date.diff().abs().dt.days<=90

或者:

df.date.diff().abs().dt.days.le(90)

或者:

df.date.diff().abs()<=pd.Timedelta(90,'d')

或者:

df.date.diff().abs().le(pd.Timedelta(90,'d'))

0    False
1    False
Name: date, dtype: bool

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 2011-10-29
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 2015-09-14
    • 2015-06-21
    相关资源
    最近更新 更多