Estou tentando realizar o filtro das colunas com o pandas ( Aula 2 ) 4:10. Porém não funciona quando passo mais de uma coluna como filtro.
Estou tentando realizar o filtro das colunas com o pandas ( Aula 2 ) 4:10. Porém não funciona quando passo mais de uma coluna como filtro.
Boas Gabrielle! Tudo bem? Espero que sim!
Algumas considerações:
O dataFrame original possui as colunas em inglês, é uma boa prática traduzir elas, usando a linha:
dados.columns = ['home', 'como_funciona', 'contato', 'comprou']
dados.head()
que retorna:
home | como_funciona | contato | comprou | |
---|---|---|---|---|
0 | 1 | 1 | 0 | 0 |
1 | 1 | 1 | 0 | 0 |
2 | 1 | 1 | 0 | 0 |
3 | 1 | 1 | 0 | 0 |
4 | 1 | 1 | 0 | 0 |
Tenha certeza que a renomeação foi excecutada corretamente antes de tentar acessar as colunas com os nomes traduzidos.
Em relação à seleção de colunas, outra possibilidade que nós temos é usa a função pd.loc()
:
dados.loc[:,['home', 'como_funciona', 'contato']]
que retorna:
home | como_funciona | contato | |
---|---|---|---|
0 | 1 | 1 | 0 |
1 | 1 | 1 | 0 |
2 | 1 | 1 | 0 |
3 | 1 | 1 | 0 |
4 | 1 | 1 | 0 |
Explicando melhor o comando:
A pd.loc()
é usada para localizar dados dentro de um data_frame a partir do nome de seu índice, seja coluna ou linha, nesse caso, usamos o :
pois queremos selecionar todas as linhas e depois especificamos quais colunas nos interesssam na lista ['home', 'como_funciona', 'contato']
.
De maneira geral tem o mesmo retorno que o modo que o professor usou dados[['home', 'como_funciona', 'contato']]
. Entretanto, é considerada uma boa prática o uso da função pd.loc()
.
Espero ter ajudado! Bons estudos!
Ahh!! Entendi. Muito Obrigado.