Попытка узнать кое-что, я возился с глобальной базой атак акул на Kaggle, и я пытаюсь найти лучший способ разбить строки, используя функцию lambda
и str.contains
.Использование lambda условных и pandas str.contains для комков строк
В любом случае строка содержит фразу с skin diving
, например. 'skin diving for abalone'
, в столбце data['Activity']
Я хочу заменить действие skin diving
. (Есть 92 вариантов для подводной охоты, следовательно, пытаются использовать функцию лямбды)
я могу вернуть булеву серию, используя
data['Activity].str.contains('skin diving')
Но я не уверен, как изменить значение, если это условие истинно
Моя функция лямбда = data.apply(lambda x: 'free diving' if x.str.contains('free diving))
, но я получаю синтаксическую ошибку, и я недостаточно хорошо знаком с функциями лямбда и пандами, чтобы получить ее правильно, любая помощь будет оценена.
Если выражение 'if' должно содержать' else': 'x if condition else y'. У вашей лямбды нет части 'else'. – DyZ