1

I have a dataframe and I want to pull the first Index value after each time I sort the dataframe based on values as a string.

And what I want my function to do is pull the country name at the top of the list. In this example, it would pull 'United States' as a string. Because the country names are the indexes and not Series values I can't just do summer_gold.iloc[0].

 

Summer Gold Silver Bronze Total # Winter Gold.1 Silver.1 Bronze.1 Total.1 # Games Gold.2 Silver.2 Bronze.2 Combined total ID

Afghanistan 13 0 0 2 2 0 0 0 0 0 13 0 0 2 2 AFG Algeria 12 5 2 8 15 3 0 0 0 0 15 5 2 8 15 ALG Argentina 23 18 24 28 70 18 0 0 0 0 41 18 24 28 70 ARG Armenia 5 1 2 9 12 6 0 0 0 0 11 1 2 9 12 ARM Australasia 2 3 4 5 12 0 0 0 0 0 2 3 4 5 12 ANZ

So if I were to sort based on number of Gold medals I'd get a dataframe that looks like:

          # Summer  Gold  Silver  Bronze  Total  # Winter  Gold.1  \

United States 26 976 757 666 2399 22 96
Soviet Union 9 395 319 296 1010 9 78
Great Britain 27 236 272 272 780 22 10
France 27 202 223 246 671 22 31
China 9 201 146 126 473 10 12

           Silver.1  Bronze.1  Total.1  # Games  Gold.2  Silver.2  \

United States 102 84 282 48 1072 859
Soviet Union 57 59 194 18 473 376
Great Britain 4 12 26 49 246 276
France 31 47 109 49 233 254
China 22 19 53 19 213 168

           Bronze.2  Combined total   ID  

United States 750 2681 USA
Soviet Union 355 1204 URS
Great Britain 284 806 GBR
France 293 780 FRA
China 145 526 CHN

So far my overall code looks like:

def answer_one(): summer_gold = df.sort_values('Gold', ascending=False) summer_gold = summer_gold.iloc[0] return summer_gold answer_one() Output: # Summer 26 Gold 976 Silver 757 Bronze 666 Total 2399 # Winter 22 Gold.1 96 Silver.1 102 Bronze.1 84 Total.1 282 # Games 48 Gold.2 1072 Silver.2 859 Bronze.2 750 Combined total 2681 ID USA Name: United States, dtype: object

I want an output of 'United States', in this case, or the name of whatever the country is at the top of my sorted dataframe.

0

1 Answer 1

2

After you sorted your dataframe, you can access the first row index like:

df.index[0]
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.