python – how to sort pandas dataframe from one column
python – how to sort pandas dataframe from one column
Use sort_values
to sort the df by a specific columns values:
In [18]:
df.sort_values(2)
Out[18]:
0 1 2
4 85.6 January 1.0
3 95.5 February 2.0
7 104.8 March 3.0
0 354.7 April 4.0
8 283.5 May 5.0
6 238.7 June 6.0
5 152.0 July 7.0
1 55.4 August 8.0
11 212.7 September 9.0
10 249.6 October 10.0
9 278.8 November 11.0
2 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.
python – how to sort pandas dataframe from one column
Using column name worked for me.
sorted_df = df.sort_values(by=[Column_name], ascending=True)