如何以正确的顺序对月份进行排序 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 [重复]的主要内容,如果未能解决你的问题,请参考以下文章