[英]Arrange the columns(month) in ascending order
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)
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]
我认为它完成了。
您可以在此问题中阅读有关重新排序列的更多信息。
国际大学联盟:
您需要按照您想要的顺序重新索引轴。 有一种称为reindex_axis
的方法
我假设你有列的名称:
如果不:
column_list = month_df.columns.tolist()
使用以下方式访问月份名称:
column_list.index(x[1])
如果是
order_of_column = ['Feb', 'Mar', 'Apr','May', 'Jun', 'Jul', 'Aug']
month_df1 = month_df.reindex_axis(order_of_column, axis=1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.