如何从熊猫数据框中提取索引?

时间:2019-04-20 19:31:21

标签: python pandas dataframe

我有一个数据框,我想在每次基于值对数据框进行排序后提取第一个Index值。

我想要我的函数执行的操作是将国家/地区名称拉到列表的顶部。在此示例中,它将以字符串形式提取“美国”。因为国家/地区名称是索引而不是系列值,所以我不能只做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

在这种情况下,我需要输出“美国”,或者在排序后的数据框顶部显示任何国家/地区的名称。

1 个答案:

答案 0 :(得分:2)

sorted dataframe之后,您可以像这样访问第一行index

df.index[0]
相关问题