【问题标题】:datetime difference between dates日期时间差
【发布时间】:2021-02-12 13:41:20
【问题描述】:

我有一个像这样的 df:

  firstdate                seconddate
0 2011-01-01 13:00:00    2011-01-01 13:00:00
1 2011-01-02 14:00:00    2011-01-01 11:00:00
2 2011-01-02 16:00:00    2011-01-02 13:00:00
3 2011-01-04 12:00:00    2011-01-03 15:00:00
...

Seconddate 总是在 firstdate 之前。我想以天数计算 firstdate 和 seconddate 之间的差异并将其设为一列,如果 firstdate 和 seconddate 是同一天,则差异 = 0,如果 seconddate 是 firstdate 的前一天,差异 = 1 依此类推直到一周.我该怎么做?

【问题讨论】:

  • 这里有什么问题?如何查找日期之间的差异或如何根据差异删除?
  • 抱歉应该更清楚。日期之间的差异是最重要的,我意识到现在删除 > 7 的记录将是微不足道的。
  • 列的类型是什么?
  • 当前所有字符串

标签: python dataframe datetime


【解决方案1】:
df['first'] = pd.to_datetime(df['first'])
df['second'] = pd.to_datetime(df['second'])

df['diff'] = (df['first'] - df['second']).dt.days

这将添加一个带有差异的列。你可以根据它删除

df.drop(df[df.diff < 0].index)

# or

df = df[df.diff > 0]

【讨论】:

  • 完成删除后,您也可以删除diff col。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多