Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Aviso de cópia

Quando rodei o código que seleciona bairros específicos do dataframe, apareceu a seguinte mensagem:

"SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy return self.updateinplace(result)"

Além disso, mesmo usando o drop_duplicates no meu dataframe continua com bairros repetidos. Segue o código (estou usando o PyCharm):

dados = pd.read_csv('dados/aluguel.csv', ';')

bairros = ['Centro', 'Higienópolis', 'Grajaú', 'Copacabana', 'Tijuca']

selecao = dados['Bairro'].isin(bairros)

dados_bairros = dados[selecao]

dados_bairros['Bairro'].drop_duplicates(inplace= True)

print(dados_bairros.head(10))
2 respostas
solução!

E aí, Armando. Beleza?

Nesse caso, o problema aconteceu porque essa operação faz uma alteração no dataframe que o pandas não identifica muito bem.

Nós partimos do dataframe dados_bairros e selecionamos a coluna Bairro. Quando aplicamos o drop duplicates com inplace=True, o pandas não sabe bem o que fazer porque ele precisa empurrar uma série com os bairros únicos pra dentro de um dataframe que já tem uma referência em memória, mas de alguma forma ele deu um jeito de remover duplicatas da forma que ele entendeu que seria melhor, porque, se você olhar o formato do dataframe retornado, vai ver que é 7987 x 9 e esse é um dataframe com linhas únicas.

Se você quiser um dataframe onde uma coluna apresenta valores únicos, use dados_bairros.drop_duplicates(subset=["Bairro"], inplace= True).

No caso do exercício, entretanto, a proposta era um pouquinho diferente. Ele usou o drop duplicates só pra visualizar se os dados únicos da coluna bairros são os que ele filtrou um pouco acima porque o groupby que vem em seguida agrega os valores pela coluna Bairro e não depende de um array de valores únicos pra isso.

Espero ter ajudado,

Abraço

Entendi, valeu pela ajuda!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software