首页 > 解决方案 > 如何在定义自己的函数时迭代列表中的条目

问题描述

我正在尝试定义具有这些目标的功能。

该函数应返回给定国家列表的给定指标的平均值。通俗地说。我希望该功能能够将每个国家/地区的给定价值拉回所column提到的内容。然后列表中的所有条目, 如果这是一个列表,则sum除以len

g7 = ['United States', 'Italy', 'Canada', 'Japan', 'United Kingdom', 'Germany', 'France']

到目前为止,这是我的代码:

def countries_average(df,cl,column):
    average = []
    for country in enumerate(cl):
        x = df.loc[df["location"] == country, column]
        average.append(x)
        y = sum(average)/len(average)
        return average

相反,它从列表中的第一个条目返回一行。当其中一个条目columntotal_deaths

[28543    127410.0
 Name: total_deaths, dtype: float64]

遍历此列表并average成功添加到列表的任何帮助。我试过range(len(cl))了,但这也没有帮助。任何帮助,将不胜感激。

标签: pythonpandaslistfunction

解决方案


我认为这应该有效:

def countries_average(df,cl,column):
    return df[df['location'].isin(cl)][column].mean()

推荐阅读