我有以下数据框,这是比赛和结果列表。
Date R # Fin Win
0 11182017 1 1 2 0
1 11182017 1 2 1 5
2 11182017 1 3 3 0
3 11182017 2 1 2 0
4 11182017 2 2 1 10
5 11182017 3 1 1 6
6 11182017 3 2 2 0
我想只返回Win列大于或等于10的种族(所有参赛者不仅仅是10行)
Date R # Fin Win
3 11182017 2 1 2 0
4 11182017 2 2 1 10
答案 0 :(得分:2)
您可以使用groupby
+ filter
df.groupby(['Date','R']).filter(lambda x : (x['Win']>=10).any())
Out[568]:
Date R # Fin Win
3 11182017 2 1 2 0
4 11182017 2 2 1 10
使用transform
df[df.groupby(['Date','R']).Win.transform(lambda x : (x>=10).any())]
Out[573]:
Date R # Fin Win
3 11182017 2 1 2 0
4 11182017 2 2 1 10