我在熊猫中有一个日期数据框,我想过滤它,使“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

千巷猫影
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
添加回答
举报
0/150
提交
取消