如何在 Python 中手动排列 Value_counts 的索引

Posted

技术标签:

【中文标题】如何在 Python 中手动排列 Value_counts 的索引【英文标题】:How to manually arrange index of Value_counts in Python 【发布时间】:2020-10-22 15:51:13 【问题描述】:

我想根据我的数据中月份的值计数得到一个条形图。当我绘制图表时,我按值的降序排列。但我希望图表根据月份,即一月的第一个条形图,二月的第二个条形图,依此类推。

代码

months = df_Badge.Date.dt.month_name().value_counts()
sns.barplot(months.index, months.values, alpha=0.8)

【问题讨论】:

【参考方案1】:

首先,如果可能缺少某些月份,则可以使用 ordered categoricals 与月份列表中的所有类别:

months = ['January','February','March','April',
          'May','June','July','August',
          'September','October','November','December']


months = df_Badge.Date.dt.month_name().value_counts()

months.index = pd.CategoricalIndex(months.index, ordered=True, categories=months)
months = months.sort_index()

sns.barplot(months.index, months.values, alpha=0.8)

如果索引中的所有月份都可能使用Series.reindex,如果缺少某个月份,则添加缺失值:

months = ['January','February','March','April',
          'May','June','July','August',
          'September','October','November','December']

months = df_Badge.Date.dt.month_name().value_counts().reindex(months)
sns.barplot(months.index, months.values, alpha=0.8)

【讨论】:

以上是关于如何在 Python 中手动排列 Value_counts 的索引的主要内容,如果未能解决你的问题,请参考以下文章

01如何在XMind中排列自由主题

如何在 Python 中排列 x 轴标签

在 Python 中,如何创建可变长度组合或排列?

如何在python中重新排列我的数据框

如何在 Firebase 中按降序排列数据 - Python

在 Python 中,如何生成数组的排列,其中每一列和每一行只有一个元素?