You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将seaborn countplot按数值从高到低排序?sort_values不生效怎么办

问题根源

你对数据集按arrival_date_month字段排序的操作,并不会调整seaborn countplot的轴类别排序规则,countplot默认会按字段唯一值的固有顺序排列x轴,不会自动按照计数频次高低排序。

实现方法

调用countplot时通过order参数指定x轴的展示顺序,将按计数值降序排列后的类别列表传入该参数即可,我们可以通过pandas的value_counts()方法快速获取按计数降序排列的类别索引,修改后代码如下:

plt.figure(figsize=(15,8))
sns.countplot(
    x='arrival_date_month',
    data=df,
    # value_counts默认返回按计数降序的结果,取其index即为排序后的类别列表
    order=df['arrival_date_month'].value_counts().index
)
plt.xticks(rotation=45)

如果需要按计数值升序排列,只需要将索引反转即可:

order=df['arrival_date_month'].value_counts().index[::-1]

内容的提问来源于stack exchange,提问作者Ruslan Pylypiuk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 06:06:03