如何根据pandas datafram中另一列的条件将值保持在百分位以上

2024-10-02 18:18:11 发布

您现在位置:Python中文网/ 问答频道 /正文

请仔细阅读此问题,综合考虑各方面,然后将其标记为副本。我也有一个堆栈帐户,但似乎忘记了在哪个电子邮件,因此一个全新的!在

我有一个df,有多个列和数百万(字面上)行。下面是一个例子,这样我就可以在不泄露敏感数据的情况下更具体地回答我的问题:

a     b     c     d   ...   AAA      BBB   

---   ---  ---   ---  ...   hf4r     192
---   ---  ---   ---  ...   h23g     103
---   ---  ---   ---  ...   9fyd      7
---   ---  ---   ---  ...   hf4r     121
---   ---  ---   ---  ...   hf4r      32
---   ---  ---   ---  ...   h23g      12
...............             ............

我只想保留那些BBB值大于或等于其特定的AAA;的第80个百分位值的行。在

我和熊猫一起工作。{6}我做的每一个都是错误的。很感激你的任何见解。在


Tags: 标记df堆栈电子邮件副本情况帐户例子
2条回答

我本来会这么做的,尽管我对温家宝的回答投了赞成票,因为我不知道转型可以做到这一点。:)

df.loc[df.BBB >= df.describe(percentiles = [.8]).iloc[5]['BBB']]

完整代码:

^{pr2}$

似乎您需要transform和{}

df[df.BBB>=df.groupby('AAA').BBB.transform('quantile',0.8)]

相关问题 更多 >