Olá Mateus, tudo bem?
Esse erro ocorre quando você tenta usar o .str
em colunas que contêm valores que não são strings.
O que pode ter ocorrido é que você tenha executado esse código mais de uma vez. Eu executei esse código mais de uma vez e obtive o mesmo erro. Isso acontece porque, após a primeira execução, o conteúdo das colunas é transformado de strings para listas. Quando você tenta aplicar os métodos .str
novamente em valores que agora são listas, isso causa o erro, pois o acessor .str
só pode ser usado em colunas com valores do tipo string.
Antes de tudo, recomendo que você reinicie a sessão do Colab, pois isso irá restaurar o estado inicial do DataFrame, onde as colunas ainda contêm strings. Para isso deixo os passos:
No menu de ferramentas do Google Colaboratory, clicar em "Ambientes de execução";
Selecionar a opção "Reiniciar sessão e executar tudo".
Para realizar essas etapas, você pode acompanhar a imagem abaixo:
Caso ainda assim o erro persista, você pode converter as colunas para string antes de aplicar os métodos da acessor .str
. Assim:
columns = dados_normal_listings.filter(like='imovel_caracteristicas').columns
for column in columns:
# Converte a coluna para string antes de usar .str
dados_normal_listings[column] = dados_normal_listings[column].astype(str).str[1:-1].str.replace("'", "").str.split(", ")
dados_highlights_listings[column] = dados_highlights_listings[column].astype(str).str[1:-1].str.replace("'", "").str.split(", ")
Dessa forma, mesmo que a coluna contenha valores que não são strings, eles serão convertidos para strings antes de aplicar os métodos da acessor .str
, evitando o erro.
Espero ter ajudado.
Qualquer dúvida, compartilhe no fórum.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!