【问题标题】:DateTime Calculation Between Two Dates, Output returns "1 Days"? What is this?两个日期之间的 DateTime 计算,输出返回“1 天”?这是什么?
【发布时间】:2019-11-21 22:42:48
【问题描述】:

我在两个日期之间进行了简单的计算,返回结果显示输出“1 天”或“2 天”等...

df['Days'] = df['date1'] - df['date2']

returns:
'1 Days'
'2 Days'

我不确定如何操作它?那么,如果我想过滤数据框以返回少于 5 天的行?我是否可以将单位转换为秒/小时,然后我当然可以过滤,但我怎么能根据“1 天”输出进行过滤?

【问题讨论】:

  • df['date1']df['date2']有哪些类型?
  • datetime64[ns],
  • df['Days']的类型是什么?我认为它实际上不是像'1 Days' 这样的字符串。
  • 这是一个 timedelta[ns] 变量
  • 大概 timedelta 对象具有您可以过滤的属性(天、小时、分钟、秒等)。您尝试过这样做吗?

标签: python pandas dataframe


【解决方案1】:

您可以添加dtdays 转换为int

df['Days'] = (df['date1'] - df['date2']).dt.days

然后就可以过滤了

df1=df[df['Days']<5].copy()

【讨论】:

  • 非常感谢
  • 请问,有没有办法从这个计算中排除某些日子?例如,只返回工作日(不包括星期日和星期六)的 dt.days?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-24
  • 2015-02-26
  • 2019-09-27
  • 1970-01-01
相关资源
最近更新 更多