Pandas DataFrame -> GroupBy -> MultiIndex Process

1

Я пытаюсь реструктурировать большой DataFrame следующей формы как MultiIndex:

        date  store_nbr  item_nbr  units  snowfall  preciptotal  event
0 2012-01-01          1         1      0       0.0          0.0    0.0
1 2012-01-01          1         2      0       0.0          0.0    0.0
2 2012-01-01          1         3      0       0.0          0.0    0.0
3 2012-01-01          1         4      0       0.0          0.0    0.0
4 2012-01-01          1         5      0       0.0          0.0    0.0

Я хочу группировать по store_nbr (1-45), в пределах каждой store_nbr группы item_nbr (1-111), а затем для соответствующей пары индексов (например, store_nbr= 12, item_nbr= 109) отображать строки в хронологическом порядке, поэтому что упорядоченные строки будут выглядеть, например:

store_nbr=12, item_nbr=109:   date=2014-02-06, units=0, snowfall=...
                              date=2014-02-07, units=0, snowfall=...
                              date=2014-02-08, units=0, snowfall=...
...                           ...
store_nbr=12, item_nbr=110:   date=2014-02-06, units=0, snowfall=...
                              date=2014-02-07, units=1, snowfall=...
                              date=2014-02-08, units=1, snowfall=...
...

Похоже, какая-то комбинация groupby и set_index может быть полезной здесь, но я застрял после следующей строки:

grouped = stores.set_index(['store_nbr', 'item_nbr'])

Это создает следующий MultiIndex:

                         date  units  snowfall  preciptotal  event
store_nbr item_nbr                                                
1         1        2012-01-01      0       0.0          0.0    0.0
          2        2012-01-01      0       0.0          0.0    0.0
          3        2012-01-01      0       0.0          0.0    0.0
          4        2012-01-01      0       0.0          0.0    0.0
          5        2012-01-01      0       0.0          0.0    0.0

У кого-нибудь есть предложения отсюда? Есть ли простой способ сделать это, манипулируя групповыми объектами?

  • 0
    Пожалуйста, включите выходные данные в виде текста, а не изображения.
  • 0
    Сожалею! Обновлено.
Показать ещё 2 комментария
Теги:
pandas
pandas-groupby
multi-index
hierarchical-data

1 ответ

0

Вы можете отсортировать строки с помощью:

df.sort_values(by='date')

Ещё вопросы

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