Python Pandas: Как передать два или более аргумента / значения столбца в пользовательскую функцию, используя .apply () - PullRequest
0 голосов
/ 07 января 2019

The Data Set looks like this

Я пытаюсь написать пользовательскую функцию, которая принимает 3 входа и в основном проверяет длину полного имени (First + Last)> Occupation. У меня есть 2 варианта применения, но оба дают ошибку. 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 голосов
/ 07 января 2019

Ошибка немедленная , вероятно, является опечаткой, т.е. вам нужно len(lname) вместо lname(lname). Но вам не нужно * * * * цикл по строкам. Вы можете позвонить pd.Series.str.len вместо:

df['CheckFlag'] = (df['First Name'].str.len() + df['Last Name'].str.len()) > \
                  df['Occupation'].str.len()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...