1
resposta

Condição where

Olá professor, boa tarde.

Pode me ajudar com essa condição where? O que quero saber é o seguinte, pois nesse exemplo a condição era "se ele identificar que é vazio, ele irá agrupar esses valores como Sem características".

Minha dúvida é saber como posso fazer essa condição só que em um modo de comparação? Pois no meu trabalho eu tenho uma base de usuários do sistema SAP, eu preciso saber se o usuário x de uma coluna aparece também na outra coluna do Dataframe, pois se eu identificar que o usuário aparece nas 2 colunas eu tenho um problema, dessa forma eu preciso fazer a comparação com cada elemento que aparece em ambas as colunas.

Eu teria que passar a condição dentro do where mais ou menos assim? coluna x == coluna y?

Obrigada!

1 resposta

Oi Kilchi,

Eu credito que entendi o seu problema e vou te passar uma sugestão de solução. Neste caso não seria necessário utilizar o método where e eu acredito que seria uma boa ideia que você crie no seu DataFrame uma nova coluna que identificaria se o problema existe ou não.

Considere o seguinte DataFrame:

import pandas as pd

df=pd.DataFrame({'Coluna X': ['Bob', 'Zeca', 'Carol', 'Ana', 'Linda'], 'Coluna Y': ['Ana', 'João', 'Carol', 'Ruth', 'Linda']})
df
Coluna XColuna Y
0BobAna
1ZecaJoão
2CarolCarol
3AnaRuth
4LindaLinda

Agora vamos utilizar o método apply para testar a condição que você citou. Este método aplica uma função anônima em cada linha de seu DataFrame.

O código abaixo cria a coluna "Problema" e atribui a ela o Valor True caso o valor da Coluna X seja igual ao valor da Coluna Y e False caso isso não ocorra.

df['Problema']=df.apply(lambda x: True if x['Coluna X']==x['Coluna Y'] else False, axis=1)
df
Coluna XColuna YProblema
0BobAnaFalse
1ZecaJoãoFalse
2CarolCarolTrue
3AnaRuthFalse
4LindaLindaTrue

Note que agora você tem uma nova coluna que identifica quando uma mesma pessoa aparece nas duas colunas.

Espero ter ajudado