如何以正确的顺序对月份进行排序 Jan-Dec Pandas [重复]

Posted

技术标签:

【中文标题】如何以正确的顺序对月份进行排序 Jan-Dec Pandas [重复]【英文标题】:How to sort months in the correct order Jan-Dec Pandas [duplicate] 【发布时间】:2021-02-25 22:23:34 【问题描述】:

我希望从 1 月到 12 月按顺序将日历日放入 matplot 图形中。我的代码如下。月份在 pandas 数据框中。

代码

month_df = df.groupby(['month_name']).count()

month_df = month_df.sort_values(by="month_name",ascending=True)

month_df['month'] = pd.to_datetime(month_df["month_name"])

【问题讨论】:

由于是字符串排序,一般都是按字母顺序排序的。从一月到十二月排序的唯一方法是创建一个正确订单列表并将其用作对行进行排序的索引(AFAIK)。 【参考方案1】:

正如评论中提到的,你可以做类似的事情

order = "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Sep Dec".split() 

month_df = df.groupby(['month_name']).count()
month_df = month_df.loc[order]

【讨论】:

当我使用您的建议时出现以下错误: KeyError: "Passing list-likes to .loc or [] with any missing labels. The following labels are missing: Index([ “一月”、“二月”、“三月”、“四月”、“六月”、\n ...\n“八月”、“九月”、“十月”、“十一月”、“十二月”]、\n dtype='object', name='month_name', length=11)。见pandas.pydata.org/pandas-docs/stable/user_guide/…tlike" 我只是给出了一个通用示例,因为您没有为您的案例提供任何示例数据。看来你几个月来使用的命名与我使用的不同。

以上是关于如何以正确的顺序对月份进行排序 Jan-Dec Pandas [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在熊猫中对月份和年份进行排序以进行时间序列可视化?

PHP按自定义顺序对工作日和月份-年份数组进行排序

如何按月顺序对我的数据进行排序?我希望我的月订单是 4 月到 4 月(即财政年度)

Java:如何以相反的顺序对浮点数组进行排序?

如何根据单独列中的月份和年份参数对 DB2 结果进行排序

Perl 和 Unix 如何以相同的顺序对 Unicode 字符串进行排序和排序?