создать новый столбец данных pandas на основе условия if-else с поиском
У меня есть pandas dataframe, и мне нужно создать новый столбец на основе условия if-else. Этот вопрос уже задавался здесь несколько раз (например,Создание нового столбца на основе условия if-elif-else).
Однако я не могу применить предложенное решение, поскольку мне также нужно искать значения в списке, чтобы проверить условие. Я не могу сделать это с предложенным решением, потому что я не уверен, как я могу получить доступ к своему списку поиска во внешней функции. Мой список поиска должен быть глобальным, чего я хочу избежать. У меня такое чувство, что должен быть лучший способ сделать это.
Рассмотрим следующий кадр данныхdf
:
letters
A
B
C
D
E
F
У меня также есть список, который содержит значения поиска:
lookup = [C,D]
Теперь я хочу создать новый столбец в моем фрейме данных, который содержит1
если соответствующее значение содержится вlookup
а также0
если значения не вlookup
.
Типичный подход будет:
df.apply(helper, axis=1)
def helper(row):
if(row['letters'].isin(lookup)):
row['result'] = 1
else:
row['result'] = 0
Тем не менее, я не знаю, как я могу получить доступlookup
вhelper()
не делая его глобальным.
Результат должен выглядеть так:
letters result
A 0
B 0
C 1
D 1
E 0
F 0