gpt4 book ai didi

python - Pandas groupby 和对数据集的判断

转载 作者:行者123 更新时间:2023-11-28 20:55:21 25 4
gpt4 key购买 nike

我有一个数据框,其中某些行被分类为“通过”或“失败”。我试图根据项目通过/失败的次数对项目做出总体判断。

Pandas 版本 23.4

给定以下 df:

*注意:存在其他几列,但出于此目的,只有这两列重要

Name    Judgement
A Pass
A Fail
A Fail
A Pass
X Pass
X Pass
Z Pass
Z Pass
Z Fail
F Pass

为了做出总体判断,我们会查看每个项目通过/失败的次数。一个项目出现两次以上 只有在(# of pass == # of fail)的情况下才能判断为“总体通过”。出现一次的项目不需要再判断。

Ex 输出如下:

Name    Judgement
A Pass
X Pass
Z Fail
F Pass

注意 A 通过,因为它有 2 个通过和 2 个失败,所以 2/2 = 1 == 通过

Z 失败,因为它有 2 次通过和 1 次失败,所以 2/1 = 2 == 失败

我的想法:

df['Name']上做一个groupby,同时也加入Judgement,简单的统计每个Name每个判断类型出现的次数。有没有更清洁的方法来做到这一点?这个想法似乎有点麻烦,但我能想到的就是这些。

最佳答案

这是您需要的吗? 0.5表示相等,1表示全部通过,这两个条件都为pass

s=df.Judgement.eq('Pass').groupby(df['Name']).agg(['mean','count'])
((s['mean'].eq(1)&s['count'].le(2))|s['mean'].eq(0.5)).map({True:'Pass',False:'Fail'})
Out[436]:
Name
A Pass
F Pass
X Pass
Z Fail
dtype: object

关于python - Pandas groupby 和对数据集的判断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57008284/

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