Issue
I'm looking for a simple way to sort a pandas dataframe by the absolute value of a particular column, but without actually changing the values within the dataframe. Something similar to sorted(df, key=abs)
. So if I had a dataframe like:
a b
0 1 -3
1 2 5
2 3 -1
3 4 2
4 5 -9
The resultant sorted data when sorting on 'b' would look like:
a b
2 3 -1
3 4 2
0 1 -3
1 2 5
4 5 -9
Solution
UPDATE
Since 0.17.0
order
and sort
have been deprecated (thanks @Ruggero Turra), you can use sort_values
to achieve this now:
In[16]:
df.reindex(df.b.abs().sort_values().index)
Out[16]:
a b
2 3 -1
3 4 2
0 1 -3
1 2 5
4 5 -9
Answered By - EdChum
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.