我正在尝试编写一个自定义函数,该函数需要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)
答案 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()