Bagaimana cara mengurutkan Pandas DataFrame berdasarkan indeks?

91

Ketika ada DataFrame seperti berikut:

import pandas as pd
df = pd.DataFrame([1, 1, 1, 1, 1], index=[100, 29, 234, 1, 150], columns=['A'])

Bagaimana saya dapat mengurutkan kerangka data ini berdasarkan indeks dengan setiap kombinasi indeks dan nilai kolom utuh?

midtownguru
sumber

Jawaban:

149

Dataframes memiliki sort_indexmetode yang mengembalikan salinan secara default. Lulus inplace=Trueuntuk beroperasi di tempat.

import pandas as pd
df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], columns=['A'])
df.sort_index(inplace=True)
print(df.to_string())

Memberi saya:

     A
1    4
29   2
100  1
150  5
234  3
Paul H.
sumber
13

Sedikit lebih kompak:

df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], columns=['A'])
df = df.sort_index()
print(df)

catatan:

fantabolous
sumber
9
.sort()docstring mengatakanDEPRECATED: use DataFrame.sort_values()
endolith
1
@endolith Indeed .sort()sejak saat itu tidak digunakan lagi. Penggantinya akan .sort_index()seperti yang digunakan oleh Paul H dalam jawabannya, dalam hal ini satu-satunya perbedaan antara jawaban kami adalah saya tidak menggunakan inplace=True.
fantabolous