如何按月顺序对数据排序?我希望我的月份订单为4月至4月(即财政年度)

时间:2019-05-13 13:18:33

标签: pandas sorting matplotlib graph jupyter-notebook

我已绘制了一个月数与业务营业额的关系图,但这些月是不完整的。它们按字母顺序排列。我希望在财政年度(即4月,5月,6月...... 3月)订购这些产品。

这就是数据框的样子。

tta

2 个答案:

答案 0 :(得分: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')

答案 1 :(得分:0)

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