输入是击球手的跑垒列表。它应该返回击球手平均得分最高的国家。
我试图找到最高平均值,例如,当将下面的列表传递给我的方法时,它应该返回“巴基斯坦”。
[
["Pakistan", 23],
["Pakistan", 127],
["India", 3],
["India", 71],
["Australia", 31],
["India", 22],
["Pakistan", 81]
]
我试过:
创建两个字典:
total={'Australia': 31, 'India': 96, 'Pakistan': 231}
division={'Australia': 1, 'India': 2, 'Pakistan': 3}
考虑将两个字典的值相除并找到其中的最大值。
还有其他有效的方法吗?
感谢您的帮助。
请您参考如下方法:
您可以使用 pandas为此,您的代码如下:
import pandas as pd
data = [
["Pakistan", 23],
["Pakistan", 127],
["India", 3],
["India", 71],
["Australia", 31],
["India", 22],
["Pakistan", 81]
]
df = pd.DataFrame(data, columns=['country', 'count'])
grouped = df.groupby(['country']).mean().reset_index()
highest = list(grouped.max())
print(highest)
打印:
['Pakistan', '77']
