#sorting #pandas #indexing #series
#сортировка #pandas #индексирование #Серии
Вопрос:
Я хочу отсортировать фрейм данных по столбцам, пока у меня проблема
df = pd.DataFrame(np.random.random(5))
df.sort(columns = [0],inplace = True)
df
0
4 0.275867
1 0.304362
2 0.625837
0 0.741176
3 0.767829
Когда я сортирую столбец, я получаю результат, которого я не ожидал, я ожидал, что индекс все равно должен быть 0,1,2,3,4, так как я могу получить этот результат и сохранить столбец 0 в порядке возрастания.
Комментарии:
1. Хммм, если данные отсортированы, индекс меняется. Но вы можете сбросить его,
df.reset_index(drop=True, inplace=True)
Ответ №1:
Я думаю, вам нужно reset_index
с параметром drop=True
:
np.random.seed(1)
df = pd.DataFrame(np.random.random(5))
df.sort_values(by=[0],inplace = True)
print (df)
0
2 0.000114
4 0.146756
3 0.302333
0 0.417022
1 0.720324
df.reset_index(drop=True, inplace=True)
print (df)
0
0 0.000114
1 0.146756
2 0.302333
3 0.417022
4 0.720324