如何在Pandas中输出对应最大百分比值的国家名称?
解决方法
要同时输出互联网用户占比最高的国家名称和对应百分比,你可以通过以下方式修改代码:
修改思路
- 定位到
Percentage列最大值所在的行数据 - 从该行提取对应的
Country和Percentage值 - 格式化拼接输出这两个内容
修改后的完整代码
import pandas as pd import matplotlib.pyplot as plt pop = pd.read_csv('country_internet.csv') op = input("Enter output file name: ") pop['Percentage'] = round(pop['Internet users']/pop['Population']*100,2) pop.plot(x = 'Country', y = 'Percentage') # 找到百分比最大值对应的行 max_idx = pop['Percentage'].idxmax() target_country = pop.loc[max_idx, 'Country'] max_percent = pop.loc[max_idx, 'Percentage'] # 格式化输出结果 print(f"Maximum percentage of all countries: {target_country} {max_percent}%") plt.show() fig = plt.gcf() fig.savefig(op)
关键代码说明
pop['Percentage'].idxmax():返回Percentage列最大值所在行的索引pop.loc[max_idx, 'Country']:通过索引直接提取对应国家名称- 用格式化字符串
f-string将国家和百分比拼接输出,就能得到类似「印度尼西亚 94%」的结果
内容的提问来源于stack exchange,提问作者Ryan
相关产品推荐
相关产品推荐

