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

Python 熊猫-计算分组列的百分比(分位数),python,pandas,quantile,percentile,Python,Pandas,Quantile,Percentile,我的数据框看起来像 lang score en 0.7 fr 0.4 en 0.3 ... it 0.7 fr 0.2 de 0.5 ... 我想得到分数的百分比(Pandas分位数),该分数由lang列分组,因此我计算平均值、中位数和百分比,如下所示: mean = df.groupby('lang')['score'].mean().sort_values(ascending=False) median = df.groupby('lang')['sco

我的数据框看起来像

lang score
en    0.7
fr    0.4
en    0.3
...
it    0.7
fr    0.2
de    0.5
...
我想得到
分数
的百分比(Pandas
分位数
),该分数由
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))
虽然
mean
median
是正确的,但我得到了分位数col的
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

错误在哪里?

您的数据帧中可能有NAN

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

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

它对我有用。也许你需要更新你的熊猫。@MykolaZotko谢谢你。我正在使用最新的
numpy==1.18.5
pandas
最新版本。