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

Posted

技术标签:

【中文标题】如何按月顺序对我的数据进行排序?我希望我的月订单是 4 月到 4 月(即财政年度)【英文标题】:How to sort my data according to month order? I want my month order to be april to april (that is the financial year) 【发布时间】:2019-09-30 11:11:26 【问题描述】:

我已经绘制了月份与营业额的关系图,但月份顺序不一致。它们是按字母顺序排列的。我希望它们像在财政年度一样订购,即四月,五月,六月......三月。

这就是数据框的样子。

Month_name       CASH/TPA   Total

April            CASH       2184074.0

August           CASH       1780238.0

December         CASH       1176889.0

【问题讨论】:

Python3 How to convert date into monthly periods where the first period is September的可能重复 【参考方案1】:

使用参数categories中定义的有序分类:

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

df['Month_name'] = pd.CategoricalIndex(df['Month_name'], ordered=True, categories=months)

如果需要按Month_name排序:

df1 = df.sort_values('Month_name')

或通过两列:

df2 = df.sort_values(['CASH/TPA', 'Month_name'])

或者如果需要,pivoting:

df3 = df.pivot('Month_name','CASH/TPA','Total')

【讨论】:

月 = ['四月','五月','六月','七月','八月','九月','十月','十一月','十二月','一月' ,'二月','三月'] df.set_index('Month_name') df['Month_name'] = pd.CategoricalIndex(df['Month_name'], ordered=True, categories=months) df1 = df.sort_values('Month_name') 这正是我所做的,我得到了错误:- KeyError: 'Month_name' 在处理上述异常期间,发生了另一个异常:【参考方案2】:
df['Month_name']=pd.to_datetime(df.Month_name, format='%B', errors='coerce').dt.month.map(":02".format)

  Month_name CASH/TPA      Total
0      April     CASH  2184074.0
1     August     CASH  1780238.0
2   December     CASH  1176889.0
  Month_name CASH/TPA      Total
0         04     CASH  2184074.0
1         08     CASH  1780238.0
2         12     CASH  1176889.0

【讨论】:

它给出了一个错误,说数据框没有名为 Month_name 的属性 AttributeError: 'DataFrame' 对象没有属性 'Month_name' 试试 df['Month_name'] @KopalSharma 它确实对我有用 :) 还是不行……不过谢谢大家的帮助!

以上是关于如何按月顺序对我的数据进行排序?我希望我的月订单是 4 月到 4 月(即财政年度)的主要内容,如果未能解决你的问题,请参考以下文章

R:按此顺序对我的数据框的最小值进行排序

如何按月对 PHP 中的 SQL 记录进行排序?

如何在 firebaserecyclerAdapter 中对我的产品(项目)进行排序

在woocommerce购物车中按添加顺序订购产品

如何在 Pandas 中按月计算分类列?

如何使用自定义模型类按部分按字母顺序对 tableView 中的数据进行排序?