为了账号安全,请及时绑定邮箱和手机立即绑定

在自己定义的函数python中引用列和字符串

在自己定义的函数python中引用列和字符串

月关宝盒 2023-09-19 14:04:24
我正在编写一个有 3 个参数的函数: country_metric(df, country, column)这是[参数]单独的功能。df- 数据框country- 一个字符串(可以假设是一个条目,可以在名为 的列中找到location)column- 一个字符串(可以假定为一列(位置除外),可在df该函数应返回给定国家/地区的行和根据第二个字符串标记的列的值:我的功能不起作用,因为我不知道如何正确表达该功能。这是我到目前为止所拥有的:def country_metric(df, country,column):    for column in df:        if df["location"] == country:            return df[df["location"] == country]["column"]我似乎无法在堆栈上找到任何有关在定义自己的函数时引用数据集中的列的信息。我尝试.items()按照 python 的建议使用,然后打印出来。从现在开始我就在挣扎。 AttributeError: 'DataFrame' object has no attribute 'item'任何帮助,将不胜感激。
查看完整描述

1 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

与按列名称过滤器一起使用,如果列中DataFrame.loc只有一个,则输出是一个元素系列,如果重复,则输出为 2 个或多个值,如果不匹配,则输出为空:countrylocationSeriescountrySeriescountry

def country_metric(df, country,column):
    return df.loc[df["location"] == country, column]

如果需要第一个匹配值,如果没有匹配,则没有错误,country请使用iter技巧next

def country_metric(df, country,column):
    return iter(next(df.loc[df["location"] == country, column]), 'no match')


查看完整回答
反对 回复 2023-09-19
  • 1 回答
  • 0 关注
  • 72 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信