0

I have a dataframe like this:

 innings    batsman     batsman_runs
    1          AA Noffke     9
    1          B Akhil       0
    1          BB McCullum  158
    1          CL White      6
    1          DJ Hussey     12....

I need to sort the batsman_runs in descending order and also show their corresponding batsman i.e if 158 is at the top, then BB McCullum should be in the adjacent cell. I tried the following code:

df['batsman_runs'].sort_values(ascending=False)

But this code does not show the batsman name. How do i show the runs with the corresponding batsman ?

1 Answer 1

5

try this:

In [32]: df.sort_values('batsman_runs', ascending=0)
Out[32]:
   innings      batsman  batsman_runs
2        1  BB McCullum           158
4        1    DJ Hussey            12
0        1    AA Noffke             9
3        1     CL White             6
1        1      B Akhil             0

or:

In [31]: df.sort_values('batsman', ascending=0)
Out[31]:
   innings      batsman  batsman_runs
4        1    DJ Hussey            12
3        1     CL White             6
2        1  BB McCullum           158
1        1      B Akhil             0
0        1    AA Noffke             9

you can also combine several columns:

In [34]: df.sort_values(['batsman','batsman_runs'], ascending=[1,0])
Out[34]:
   innings      batsman  batsman_runs
0        1    AA Noffke             9
1        1      B Akhil             0
2        1  BB McCullum           158
3        1     CL White             6
4        1    DJ Hussey            12
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.