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
最新版本。