Pandas DataFrame'i dizine göre nasıl sıralayabilirim?


91

Aşağıdaki gibi bir DataFrame olduğunda:

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

Bu veri çerçevesini, dizin ve sütun değerinin her kombinasyonu bozulmadan dizine göre nasıl sıralayabilirim?

Yanıtlar:


149

Veri çerçevelerinin sort_indexvarsayılan olarak bir kopya döndüren bir yöntemi vardır. inplace=TrueYerinde çalışmak için geçiş yapın.

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())

Bana verir:

     A
1    4
29   2
100  1
150  5
234  3

13

Biraz daha kompakt:

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

Not:


9
.sort()docstring diyorDEPRECATED: use DataFrame.sort_values()
endolith

1
@endolith Indeed .sort()o zamandan beri kullanımdan kaldırıldı. Yerine koyma .sort_index()Paul H'nin cevabında kullandığı gibi olacaktır , bu durumda cevaplarımız arasındaki tek fark ben kullanmıyorum inplace=True.
fantabolous
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.