Я работаю над набором банковских данных, и мне нужно использовать только целую часть столбца «опыт работы» - PullRequest
0 голосов
/ 27 апреля 2018

Я работаю над набором банковских данных, и мне нужно использовать только целую часть столбца «Опыт работы». Я попробовал это, определив функцию с помощью регулярного выражения и приведя к целому числу, но вместо целого числа он хранит адрес. Что я делаю не так?

Вот мой код:

def year_converter(x):
    return int(re.search(r'\d+', x).group())    

bank_data['Years in current job'] = bank_data['Years in current job'].apply(lambda x: year_converter)

До После применения моей функции

Ответы [ 2 ]

0 голосов
/ 28 апреля 2018

Вы передали функцию в результате lambda, поэтому она является значением результата в вашем скриншоте "после".

Выполнить функцию в lambda:

bank_data['Years in current job'] = bank_data['Years in current job'].apply(
    lambda x: year_converter(x))

или передайте его непосредственно apply, чтобы apply выполнял его правильно вместо:

bank_data['Years in current job'] = bank_data['Years in current job'].apply(
    year_converter)
0 голосов
/ 27 апреля 2018

Попробуйте обновить ваш dict на месте с помощью обновления:

bank_data.update({k: year_converter(v) for k, v in bank_data.items()})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...