熊猫-计算分组列的百分位数(分位数)

时间:2020-06-17 18:52:03

标签: python pandas quantile percentile

我的数据框看起来像

lang score
en    0.7
fr    0.4
en    0.3
...
it    0.7
fr    0.2
de    0.5
...

我想获取quantile列分组的score列的百分位数(熊猫lang),因此我按以下方式计算均值,中位数和百分位数:

mean = df.groupby('lang')['score'].mean().sort_values(ascending=False)
median = df.groupby('lang')['score'].median().sort_values(ascending=False)
perc = df.groupby('lang')['score'].quantile(np.linspace(.1, 1, 9, 0))

虽然meanmedian是正确的,但我得到的分位数列为NaN

fr                       0.1                    NaN
                         0.2                    NaN
                         0.3                    NaN
                         0.4                    NaN
                         0.5                    NaN
...                                             ...
en                       0.5                    NaN
                         0.6                    NaN
                         0.7                    NaN
                         0.8                    NaN
                         0.9                    NaN

错误在哪里?

1 个答案:

答案 0 :(得分:1)

数据框中是否可以包含NaN?

尝试在perc计算之前执行此操作

df.dropna(subset=['score'])