gpt4 book ai didi

python - Pandas Python 条件

转载 作者:太空宇宙 更新时间:2023-11-03 13:07:59 25 4
gpt4 key购买 nike

d = [{'Number':'0001',  'Name':'A','Course':'Eng','Score':81 },{'Number':'0001',  'Name':'A','Course':'Geo','Score':75},
{'Number':'0002', 'Name':'B','Course':'Eng','Score': 76} , {'Number':'0002', 'Name':'B','Course':'Geo','Score':90 },
{'Number':'0003', 'Name':'C','Course':'Eng','Score':81 },{'Number':'0003', 'Name':'C','Course':'Geo','Score':100, },
{'Number':'0003', 'Name':'C','Course':'Bio','Score':90 }]


data = pd.DataFrame(d, index=[1,2,3,4,5,6,7])
data

Course Name Number Score
1 Eng A 0001 81
2 Geo A 0001 75
3 Eng B 0002 76
4 Geo B 0002 90
5 Eng C 0003 81
6 Geo C 0003 100
7 Bio C 0003 90

我想要的是只返回名字 C,因为 C 是唯一一个每门课都超过 80 分的人

enter image description here

最佳答案

你可以在 groupby 之后使用 filter 例如:

print (data.groupby('Name').filter(lambda x: (x['Score'].min()>80)))

你得到了

  Course Name Number  Score
5 Eng C 0003 81
6 Geo C 0003 100
7 Bio C 0003 90

关于python - Pandas Python 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51661893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com