Python Pandas:如何使用.apply()将两个或多个参数/列值传递给自定义函数

时间:2019-01-07 17:06:27

标签: python python-3.x pandas jupyter-notebook

The Data Set looks like this

我正在尝试编写一个自定义函数,该函数需要3个输入,并且基本上是在检查Full Name(First + Last)> Occupation的长度。我尝试了2个apply的变体,但都给出了错误。 PS:我是Python和Pandas地区的新手。

def check(fname,lname,occu):
if(len(fname)+len(lname)>len(occu)):
    return True
else:
    return False

customers.apply(lambda x: check(x['First Name'],x['Last Name'],x['Occupation']),axis=1)

Error Error for another variation

1 个答案:

答案 0 :(得分:2)

立即错误可能是拼写错误,即您需要len(lname)而不是lname(lname)。但是,您不需要逐行循环。您可以改为致电pd.Series.str.len

df['CheckFlag'] = (df['First Name'].str.len() + df['Last Name'].str.len()) > \
                  df['Occupation'].str.len()