我的数据框看起来像
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))
虽然mean
和median
是正确的,但我得到的分位数列为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
错误在哪里?
答案 0 :(得分:1)
数据框中是否可以包含NaN?
尝试在perc计算之前执行此操作
df.dropna(subset=['score'])