У меня есть датафрейм с некоторыми клубами и их национальностью. Так же, как этот:
![enter image description here](https://i.stack.imgur.com/Nw6Gc.png)
Я создал функцию, которую буду использовать для создания нового столбца на основе национальности. Я проверил, и он отлично работает, если я хочу найти значения, которые равны. Однако мне нужно было искать строки, которые содержат определенного символа. Например: если строка содержит «Br», я хочу создать новый столбец, который получит определенное значение. Если содержит другую строку, он получит другое значение.
Это то, что я сделал до сих пор (и оно работает нормально, но мне нужно что-то вроде «содержит»):
# Function
def label_race (row):
if row['Nationality'] == 'Brazil':
return 'Brasil'
else:
return 'NA'
df.apply (lambda row: label_race(row), axis=1)
Я хотел бы сделать что-то вроде этого:
# Function
def label_race (row):
if row['Nationality'] contains'Br':
return 'Brasil'
if row['Nationality'] contains'Brl':
return 'Brasil2'
else:
return 'NA'
df.apply (lambda row: label_race(row), axis=1)
Я нашел несколько советов, но большинство из них используют такие вещи, как is.find () или df []. Str.contains. И я не мог приспособиться к тому, что я хочу.