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.