Por que o Query da resolução do desafio exige que o nome da coluna "endereco.rua" esteja entre crases, enquanto, no exemplo da atividade "Indentificando e tratando strings vazias", o Query não exige que a coluna "Churn" esteja entre crases?
Por que o Query da resolução do desafio exige que o nome da coluna "endereco.rua" esteja entre crases, enquanto, no exemplo da atividade "Indentificando e tratando strings vazias", o Query não exige que a coluna "Churn" esteja entre crases?
Olá, Caio, tudo bem?
A diferença no uso das crases está relacionada ao nome das colunas que você está acessando. No caso do nome da coluna "endereco.rua
", as crases são necessárias porque o nome contém um ponto (.
). Isso faz com que o Python entenda que você está tentando acessar um atributo de um objeto, e não a coluna em si. Para evitar esse problema, você precisa colocar o nome da coluna entre crases, assim: df.query("endereco.rua != ''")
. Isso indica ao Python que você está se referindo ao nome da coluna, e não a um atributo.
Já, a coluna Churn
não contém caracteres especiais como pontos ou espaços, então não é necessário usar crases. O método query
pode interpretar diretamente Churn
como o nome da coluna.
Basicamente, o uso de crases é uma prática recomendada sempre que houver dúvida sobre a interpretação do nome da coluna
Espero que essa explicação tenha esclarecido sua dúvida.
Qualquer dúvida, compartilhe no fórum.
Abraços e bons estudos!