1
resposta

Dados divergentes na função describe()

Olá, tudo bem?

Na primeira parte da aula 8 (Estatísticas descritivas) optei por fazer de forma diferente, que julguei mais simples. O código utilizado segue abaixo:

media = dados.groupby("Bairro").mean()
media.drop(['Quartos', 'Vagas', 'Suites', 'Area', 'IPTU', 'Valor m²'], axis=1, inplace = True)
media['Bairro'] = media.index

bairros = ['Barra da Tijuca', 'Copacabana', 'Ipanema', 'Leblon', 'Botafogo', 'Flamengo', 'Tijuca']
selecao = media.Bairro.isin(bairros)
media_new = media[selecao]
media_new

del media_new['Bairro']
media_new.round(2)

O resultado foi o mesmo da aula. Porém, ao aplicar a função describe(), não obtive os valores da aula atual. Pode me ajudar? Os valores obtidos foram: count 7.00 mean 6320.49 std 2878.64 min 2043.52 25% 4120.10 50% 7069.55 75% 8769.09 max 9352.00 Name: Valor, dtype: float64

1 resposta

Olá amigo. Percebi testando o seu código algumas coisas:

Na linha:

media = dados.groupby("Bairro").mean()

a variável media não é um DataFrameGroupBy, mas sim um DataFrame. Sendo assim, se tentar usar um describe nela, será diferente do apresentado na aula, pois lá o describe é feito em um DataFrameGroupBy.

O mesmo acontece com a variável media_new. O método describe quando utilizado em um DataFrame, irá calcular o count, mean, std, etc sobre todas as linhas, pois é um único DataFrame. Já quando é utilizado em um DataFrameGroupBy (que é um conjunto de DataFrames) ele calcula sobre cada um separadamente, como vemos na aula.

Porém no seu código não adiantaria simplesmente gerar um groupby, na váriavel media_new, por exemplo, pois você também já gravou os valores de média deles, já estão agrupados e os valors de count, mean, std, etc que serão gerados pelo describe serão todos iguais.

Estou começando o curso agora também, não tenho muito conhecimento de pandas e posso ter dito algo errado. Mas dê mais uma olhada nas suas variáveis e nos dados que elas possuem, também de uma olhada na documentação do pandas que ajuda bastante. Abraço.