根据列日期对熊猫数据框中的列进行重新排序

时间:2019-06-19 04:40:35

标签: pandas pivot-table

如何按月和年的顺序而不是字母的顺序对熊猫数据透视表标题进行排序?

当前顺序是基于月份名称的字母顺序,我希望是月份和年份的顺序

1 个答案:

答案 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

希望,这可以帮助您解决问题。

相关问题