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.