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

使用 Pandas 按列值过滤

使用 Pandas 按列值过滤

Smart猫小萌 2021-06-09 18:17:25
我在熊猫中有一个日期数据框,我想过滤它,使“date_id”介于“start_date”和“end_date”之间     date_id    start_date  end_date0   2010-06-04  2008-08-01  2008-09-261   2010-06-04  2008-08-01  2008-09-262   2010-06-04  2008-08-01  2008-09-263   2010-06-04  2008-08-26  2008-10-264   2010-06-04  2010-05-01  2010-09-265   2010-06-04  2008-08-01  2008-09-266   2010-06-04  2008-08-01  2008-09-267   2010-09-04  2010-08-01  2010-09-26我试过使用下面的代码:df[(df['date_id'] >= df['start_date'] & df['date_id']<= df['end_date')]上面的代码导致关键错误。我是一个新的熊猫用户,所以任何帮助/文档都会非常有帮助。
查看完整描述

3 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

之间可以使用!


df['date_id'].between(df['start_date'],df['end_date_y'])

并过滤,只需使用 .loc


df.loc[df['date_id'].between(df['start_date'],df['end_date_y'])]



     date_id start_date end_date_y

4 2010-06-04 2010-05-01 2010-09-26

7 2010-09-04 2010-08-01 2010-09-26


查看完整回答
反对 回复 2021-06-22
?
千巷猫影

TA贡献1829条经验 获得超7个赞

您还可以query用作:


df.query("start_date <= date_id <=  end_date_y")


    date_id     start_date  end_date_y

4   2010-06-04  2010-05-01  2010-09-26

7   2010-09-04  2010-08-01  2010-09-26


查看完整回答
反对 回复 2021-06-22
  • 3 回答
  • 0 关注
  • 219 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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