2016-10-05 2 views
1

Я хочу, чтобы отсортировать dataframe по столбцам, в то время как я получил проблемупанды сортировать и держать индекс без изменений

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 в порядке возрастания.

+0

Хммм, если данные сортируются, индекс изменения. Но вы можете сбросить его с помощью 'df.reset_index (drop = True, inplace = True)' – jezrael

ответ

2

Я думаю, что вам нужно 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 
+0

Это работает, отлично! Спасибо! – Stellera

+0

Рад может вам помочь. Если бы мой ответ был полезным, не забудьте [принять] (http://meta.stackexchange.com/a/5235/295067). Благодарю. – jezrael

+0

Приняли, еще раз спасибо. – Stellera

Смежные вопросы