为了账号安全,请及时绑定邮箱和手机立即绑定

Python 数据框:根据 groupby 条件过滤数据框

Python 数据框:根据 groupby 条件过滤数据框

喵喔喔 2021-09-28 13:24:28
我有一个如下所示的数据框:ID    date          1     01.01.2017        1     01.01.2017        1     01.04.2017        2     01.01.2017        2     01.01.2017        2     01.02.2017       我想要的是过滤日期差异的相关最小值和最大值为 3 天的 ID。最终的数据帧应该是这样的,因为只有 id 1 匹配条件:ID    date          1     01.01.2017        1     01.01.2017        1     01.04.2017 谢谢你。
查看完整描述

2 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

您可以使用Groupby.filter自定义lambda函数来检查最大日期和最小值之间的差异是否为3天数:


d = datetime.timedelta(days=3)

df.groupby('ID').date.filter(lambda x: (x.max() - x.min()) == d)


ID

1   2017-01-01

1   2017-01-01

1   2017-01-04

Name: date, dtype: datetime64[ns]


查看完整回答
反对 回复 2021-09-28
  • 2 回答
  • 0 关注
  • 256 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号