如何按月和年的顺序而不是字母的顺序对熊猫数据透视表标题进行排序?
当前顺序是基于月份名称的字母顺序,我希望是月份和年份的顺序
答案 0 :(得分:0)
我试图模拟您的问题并找到了解决方案。在这里,我有一个包含两列(YearMonth和Sales)的数据集,并在透视数据之前对YearMonth列进行了排序。排序有助于我们在透视后按要求的顺序排列YearMonth列。请检查以下给出的代码:
import pandas as pd
data = pd.DataFrame([[201801,2000.00],[201809,4000.00],[201803,10000.00],[201806,12000.00],[201802,20000.00],[201811,2000.00]],columns=['YearMonth','Sales'])
print('Original data:')
print(data)
data = data.sort_values(by=['YearMonth'])
print('Sort data on Year Month column:')
print(data)
print('Pivot data:')
print(data.pivot(columns='YearMonth',values=['Sales']))
输出:原始数据
YearMonth Sales
0 201801 2000.0
1 201809 4000.0
2 201803 10000.0
3 201806 12000.0
4 201802 20000.0
5 201811 2000.0
“年月”列上的数据排序:
YearMonth Sales
0 201801 2000.0
4 201802 20000.0
2 201803 10000.0
3 201806 12000.0
1 201809 4000.0
5 201811 2000.0
数据透视点:
Sales
YearMonth 201801 201802 201803 201806 201809 201811
0 2000.0 NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN 4000.0 NaN
2 NaN NaN 10000.0 NaN NaN NaN
3 NaN NaN NaN 12000.0 NaN NaN
4 NaN 20000.0 NaN NaN NaN NaN
5 NaN NaN NaN NaN NaN 2000.0
希望,这可以帮助您解决问题。