При использовании Pandas DataFrame.sort() я могу заставить его перенумеровать строки?
Я всегда удивляюсь этому:
> data = DataFrame({'x':[1, 2], 'y':[2, 1]})
> data = data.sort('y')
> data
x y
1 2 1
0 1 2
> data['x'][0]
1
Есть ли способ, по которому индексы могут быть переназначены для соответствия новому порядку?
Ответ 1
Со своей стороны, я рад, что сортировка не выбрасывает информацию индекса. Если бы это было так, то не было бы большого смысла иметь индекс, в первую очередь, в отличие от другого столбца.
Если вы хотите reset указатель на диапазон, вы можете:
>>> data
x y
1 2 1
0 1 2
>>> data.reset_index(drop=True)
x y
0 2 1
1 1 2
Где вы можете переназначить или использовать inplace=True по своему усмотрению. Если вместо этого реальная проблема заключается в том, что вы хотите получить доступ по позиции, не зависящей от индекса, вы можете использовать iloc: