crie uma nova coluna de dataframe do pandas com base na condição if-else com uma pesquisa
Eu tenho um dataframe de pandas e preciso criar uma nova coluna com base em uma condição if-else. Esta pergunta já surgiu aqui várias vezes (por exemplo,Criando uma nova coluna com base na condição if-elif-else)
No entanto, não posso aplicar a solução proposta, pois também preciso procurar valores em uma lista para verificar a condição. Não posso fazer isso com a solução proposta, porque não tenho certeza de como posso acessar minha lista de pesquisa na função externa. Minha lista de pesquisa precisaria ser global, o que eu quero evitar. Tenho a sensação de que deve haver uma maneira melhor de fazer isso.
Considere o seguinte quadro de dadosdf
:
letters
A
B
C
D
E
F
Eu também tenho uma lista que contém valores de pesquisa:
lookup = [C,D]
Agora, quero criar uma nova coluna no meu quadro de dados que contenha1
se o respectivo valor estiver contido emlookup
e0
se os valores não estiverem emlookup
.
A abordagem típica seria:
df.apply(helper, axis=1)
def helper(row):
if(row['letters'].isin(lookup)):
row['result'] = 1
else:
row['result'] = 0
No entanto, não sei como posso acessarlookup
nohelper()
sem torná-lo global.
O resultado deve ficar assim:
letters result
A 0
B 0
C 1
D 1
E 0
F 0