панды сортируют и сохраняют индекс без изменений

#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