【发布时间】:2019-02-24 02:12:34
【问题描述】:
我有一个熊猫数据框如下:
df = pd.DataFrame()
df['Name'] = ['Abby', 'Abby', 'Abby', 'Abby', 'Abby', 'Daniel', 'Daniel', 'Daniel', 'Daniel', 'Daniel']
df['Marks'] = [100, 90, 76, 50, 10, 50, 45, 38, 25, 5]
我想:
- 找出每组的第 40 个百分位
- 过滤数据框,以便显示该组第 40 个百分位以上的所有值。
因此,我使用以下方法找到了每个组的第 40 个百分位数:
df.groupby('Name').quantile(0.4)
目标是:
我的主要问题是每个组的值没有标准化,因此我无法为整个数据集应用整体百分位值。
但是我看到的关于过滤具有特定值的数据框的所有帮助并没有针对每个组单独执行。我看到了以下问题:
Pandas, groupby where column value is greater than x
Pandas Groupby apply function to count values greater than zero
我的问题基本上建立在以下问题的变体之上: Calculate Arbitrary Percentile on Pandas GroupBy
有没有办法在 Pandas 中做到这一点?
【问题讨论】: