Как заказать DataFrame в python со специальной структурой даты?

1

У меня есть 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 

Пожалуйста помоги!

Теги:
pandas
dataframe
python-3.x
sorting

1 ответ

1
Лучший ответ

Мне нужно указать столбцы для сортировки путем индексирования - здесь по всем столбцам без первого:

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
  • 1
    Здорово, спасибо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню