按升序排列列(月)

生命力打击82

1/ excel原始数据

我有一个包含这些数据值的数据框,如下所示: 在此处输入图片说明

2/ 编码

将这个 excel 加载到数据框中,编写一个 pivot_table 代码来索引类别并显示每个月的交易计数。

这是代码:

loadexpense_df = pd.read_excel("C:ExpensesTestData.xlsx")
month_df = pd.pivot_table(loadexpense_df,index="Category",columns="Month",aggfunc={"Month":len}, fill_value=0)

month_df的结果如下图: 在此处输入图片说明

3/ 问题

我想按以下顺序排列月份列:二月、三月、四月等。这是可能的吗?

谢谢指导

埃尔凡·洛格玛尼

首先,查看您当前的列:

cols = month_df.columns.tolist()

我想你cols现在应该是这样的:

[('Month', 'Apr'), ('Month', 'Aug'), ...]

所以你可以cols像这样重新排序

month_names = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
cols = sorted(cols, key=lambda x: month_names.index(x[1]))

最后用新的列排序设置months_df:

month_df = month_df[cols]

我认为它完成了。

您可以在此问题中阅读有关重新排序列的更多信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章