how to sort pandas dataframe from one column how to sort pandas dataframe from one column python python

how to sort pandas dataframe from one column


Use sort_values to sort the df by a specific column's values:

In [18]:df.sort_values('2')Out[18]:        0          1     24    85.6    January   1.03    95.5   February   2.07   104.8      March   3.00   354.7      April   4.08   283.5        May   5.06   238.7       June   6.05   152.0       July   7.01    55.4     August   8.011  212.7  September   9.010  249.6    October  10.09   278.8   November  11.02   176.5   December  12.0

If you want to sort by two columns, pass a list of column labels to sort_values with the column labels ordered according to sort priority. If you use df.sort_values(['2', '0']), the result would be sorted by column 2 then column 0. Granted, this does not really make sense for this example because each value in df['2'] is unique.


I tried the solutions above and I do not achieve results, so I found a different solution that works for me. The ascending=False is to order the dataframe in descending order, by default it is True. I am using python 3.6.6 and pandas 0.23.4 versions.

final_df = df.sort_values(by=['2'], ascending=False)

You can see more details in pandas documentation here.


Using column name worked for me.

sorted_df = df.sort_values(by=['Column_name'], ascending=True)