微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在定义自己的功能时遍历列表中的条目

如何解决如何在定义自己的功能时遍历列表中的条目

我正在尝试以这些目标定义功能

  • DataFrame df
  • 国家/地区列表(可以假定全部位于DataFrame的location列中) cl
  • 将在DataFrame中找到的字符串(可以假定为列(位置除外))。column

函数应返回给定国家/地区列表中给定指标的平均值。用外行的话来说。我希望该函数将每个国家的给定值拉回到所提到的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

它从列表中的第一个条目返回一行。 column中的一项是total_deaths时:

[28543    127410.0
 Name: total_deaths,dtype: float64]

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

解决方法

我认为这应该可行:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。