Обычно сортировка выполняется по клавишам GroupBy и как вы узнали, вы не можете назвать sort
на объекте GroupBy, какие вы могли бы сделать, это вызвать apply
и передать функцию DataFrame.sort
и передать столбец как kwarg пары:
In [58]:
df.groupby('cokey').apply(pd.DataFrame.sort, 'A')
Out[58]:
cokey A B
cokey
11168155 1 11168155 0 18
0 11168155 18 56
2 11168155 56 96
3 11168155 96 152
в качестве альтернативы можно просто отсортировать ФР до группировки:
df.sort('A').groupby('cokey')
Update
Для версии 0.17.0
и выше DataFrame.sort
теперь осуждается увидеть в docs, следует теперь использовать DataFrame.sort_values
:
df.groupby('cokey').apply(pd.DataFrame.sort_values, 'A')
спасибо! есть ли способ reset_index() результирующий фреймворк? – user308827
Последующие операции перепутаны с многоуровневым индексированием, все еще присутствующим – user308827
Ну, вы вводите еще один уровень индексации, добавив этот критерий сортировки, вам придется отказаться от лишних индексов после вызова 'reset_index', я боюсь – EdChum