Gostaria de saber como faço para achar os nomes que estão em uma lista, dentro de uma Series. É para um exercício em Pandas que estou fazendo.
Gostaria de saber como faço para achar os nomes que estão em uma lista, dentro de uma Series. É para um exercício em Pandas que estou fazendo.
Olá Rodrigo, tudo bem ? Espero que sim.
Não entendi exatamente do que precisa, se puder trazer um exemplo vai ajudar bastante.
O que eu entendi é que você tem uma lista de nomes e gostaria de filtrar seu DataFrame por essa lista de nomes.
Montei um exemplo para ilustra uma solução:
Criei um DataFrame que contem uma coluna de Nome e uma coluna de Linguagens que essas pessoas gostam.
Código:
import pandas as pd
df = pd.DataFrame({'Nome': ['Igor', 'Pedro', 'João', 'Afonso', 'Millena'], 'Linguagens': ['C', 'Javascript', 'Python', 'Java', 'Haskell']})
df
Resultado:
Nome | Linguagens | |
---|---|---|
0 | Igor | C |
1 | Pedro | Javascript |
2 | João | Python |
3 | Afonso | Java |
4 | Millena | Haskell |
Depois criei uma lista com alguns nomes que quero filtrar e salvei na variável lista.
Código:
lista = ['Igor', 'Millena', 'Ana', 'Sthe']
Agora com o DataFrame e a lista pronta, posso passar para a parte de filtro, para isso vou utilizar o método query do DataFrame Pandas. (documentação)
Para utiliza-lo vou:
Código:
df.query('Nome in @lista')
Resultado:
Nome | Linguagens | |
---|---|---|
0 | Igor | C |
4 | Millena | Haskell |
E assim conseguimos o obter nosso DataFrame filtrado apenas pelos nomes que estão na lista, muito legal né ?
Espero ter ajudado, mas caso precise de ajuda com outro ponto não hesite em perguntar.
Igor, era exatamente isso, obrigado por todos detalhes e solução completa!