如何在具有最大值的列下打印名称?(熊猫)(蟒蛇)



我正在使用的数据表由以下列组成:"国家"、"互联网用户"one_answers"人口"。我可以使用互联网计算和打印人口的最大百分比,但我如何用这个最大百分比打印国家的名称。例如,印度尼西亚将有94%的最大值,但我只能打印";94%";。我想打印";印度尼西亚94%";。

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')
print("Maximum percentage of all countries:",pop['Percentage'].max(),"%")
plt.show()
fig = plt.gcf()
fig.savefig(op)

这应该做到:

# To get the country with max percentage
condition = pop.loc[pop['Percentage'] == pop['Percentage'].max(), 'Country']
print('Country with max percentage is: {} {:.0%}'.format(condition, pop['Percentage'].max()))

输出:

'Country with max percentage is: Indonesia 94%'

最新更新