首页 > 解决方案 > Barplot 似乎没有正确排序我的 df

问题描述

我的数据框是:

b1_df1_c.sort_values('score_s', ascending=False).head()

score   score_s
CountryCode     
Denmark 9.20    1.000000
Luxembourg  7.85    0.956297
Netherlands 6.52    0.913241
Czech Republic  5.69    0.886371
Belgium 4.96    0.862739

我的条形图:

fig=plt.figure(figsize=(10,20))
plt.title("Tolerance (scaled)",family='Serif', weight='bold', size=20)
ax = sns.barplot(x='score_s', y=b1_df1_c.index, data=b1_df1_c)

在此处输入图像描述

得分最高的国家:奥地利、平均、比利时、保加利亚、克罗地亚、塞浦路斯,而不是丹麦、卢森堡、荷兰等。

有人知道为什么它对值的排序如此错误吗?

标签: pythonpandasnumpyseaborn

解决方案


score_s 的数据类型实际上是数字吗?可能按实际浮点值以外的其他值进行排序。

编辑:我认为本是正确的。您没有保存 DataFrame 的排序版本。


推荐阅读