Python панды: как присвоить значение новому столбцу, если ключ находится в другом столбце - PullRequest
0 голосов
/ 09 мая 2018

У меня есть фрейм данных, и я хочу проверить, является ли какая-либо часть строки из одного столбца ключом из данного словаря, и если да, назначить значение этого ключа новому столбцу.

dict = {'Apple': 'Fruit', 'Chicken': 'Meat'}

expected df:

#     String           New Column
# 1   'Red apple'      'Fruit'
# 2   'Fried chicken'  'Meat'

Я нашел этот пост, который очень близок к тому, что мне нужно сделать, но я не смог найти решение для использования словаря: python pandas, если строка столбца содержит слово flag

Надеюсь, это имеет смысл, спасибо за любую помощь!

1 Ответ

0 голосов
/ 09 мая 2018

Нам нужно изменить все символы клавиш в верхнем регистре в вашем dict и вашем df, тогда мы просто apply с проверкой функции

d={x.upper(): y for x,y in d.items()}

df['New']=df.String.str.upper().apply(lambda x : ''.join([v if k in x  else '' for k,v in d.items()]))

df
          String    New
0      Red apple  Fruit
1  Fried chicken   Meat
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...