Я пытался смоделировать вашу проблему и найти это решение.Здесь у меня есть набор данных с двумя столбцами (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
Надеюсь, это может помочь вам решить вашу проблему.