1
resposta

Problema com a função apply(lambda)

Olá boa tarde, tudo bem. Estou tendo um problema na aula 09 Novas colunas derivadas das informações existentes, no curso Python Pandas: técnicas avançadas. Quando executo o código:

dados_listings['Piscina']=dados_listings['imovel_caracteristicas_condominio'].apply(lambda x: 'Piscina' in x)


dados_listings[['imovel_caracteristicas_condominio','Piscina']].head(20)

Ao invés de aparecer True, esta aparecendo False, e só aparece True onde a palavra 'Piscina' esta em primeiro lugar na descrição de caracteristicas de condomínio, no restante onde Piscina se encontra no meio da descrição esta constando como False.

1 resposta

Oii, Matheus! Tudo bem?

Isso pode ocorrer quando o método apply() e a função lambda estão lidando com a verificação da coluna correspondente. Uma sugestão, é utilizar o método str.contains(), para verificar se a string está contida em qualquer parte da descrição independente da posição.

Segue um exemplo de como ficaria:

dados_listings['Piscina'] = dados_listings['imovel_caracteristicas_condominio'].str.contains('Piscina', case=False)
dados_listings[['imovel_caracteristicas_condominio', 'Piscina']].head(20)

Infelizmente não consegui encontrar a aula pelo nome que descreveu, caso a sugestão acima não dê certo, poderia por gentileza verificar o nome do curso, Python Pandas: técnicas avançadas, se está certinho? Dessa forma podemos buscar outras soluções para te ajudar.

Bons estudos, Matheus!