У меня есть фрейм данных с многоуровневым индексом с 9 миллионами строк следующим образом. Я бы sh изменил индекс уровня 0, который в некоторых случаях не является уникальным, на числовой порядок, содержащий уникальные индексы. Вот пример ввода:
ORDER NO DATE
4200000303 1 2015-02-19
2 2015-02-19
3 2015-02-19
1200000303 1 2016-07-19
2 2016-07-19
3 2016-07-19
4 2016-07-19
1500000303 1 2017-08-19
2 2017-08-19
3 2017-08-19
4 2017-08-19
x8594345 rows
Требуемый вывод должен быть:
ORDER NO DATE
0 1 2015-02-19
2 2015-02-19
3 2015-02-19
1 1 2016-07-19
2 2016-07-19
3 2016-07-19
4 2016-07-19
2 1 2017-08-19
2 2017-08-19
3 2017-08-19
4 2017-08-19
x8594345 rows
Я пробовал следующий код:
transactions.index = pd.MultiIndex.from_arrays(
[list(range(0,transactions.shape[0])), transactions.groupby(level=0).cumcount()],
names=['ORDER', 'NO'])
Но он возвращает плоский dataframe.