У меня есть DataFrame в python, значение ячейки - это количество покупки, например:
code 1/18 2/18 3/18 4/18 5/18
1 NaN 15 15 16 14
2 NaN NaN 30 23 24
3 24 21 23 NaN 26
Я хочу заказать код с точки зрения даты, когда они были впервые приобретены, результатом будет:
code 1/18 2/18 3/18 4/18 5/18
3 24 21 23 NaN 26
1 NaN 15 15 16 14
2 NaN NaN 30 23 24
Пожалуйста помоги!
Мне нужно указать столбцы для сортировки путем индексирования - здесь по всем столбцам без первого:
print (df.columns[1:].tolist())
['1/18', '2/18', '3/18', '4/18', '5/18']
df = df.sort_values(by=df.columns[1:].tolist())
print (df)
code 1/18 2/18 3/18 4/18 5/18
2 3 24.0 21.0 23 NaN 26
0 1 NaN 15.0 15 16.0 14
1 2 NaN NaN 30 23.0 24
Если первый столбец является index
:
print (df.columns.tolist())
['1/18', '2/18', '3/18', '4/18', '5/18']
df = df.sort_values(by=df.columns.tolist())
print (df)
1/18 2/18 3/18 4/18 5/18
code
3 24.0 21.0 23 NaN 26
1 NaN 15.0 15 16.0 14
2 NaN NaN 30 23.0 24