Analisando os dados do Airbnb da Cidade do México

Priscilla Nascimento Santos
conectadados
Published in
5 min readAug 12, 2021
Fonte: https://pixabay.com

Que tal conhecer a terra de Frida Kahlo?

A Cidade do México é uma das maiores cidades do mundo, conhecida por sua bela arquitetura e sua cultura asteca são um grande atrativo para os viajantes.

Nesse projeto, vamos analisar os dados disponibilizados pelo Airbnb sobre acomodações na Cidade do México. O objetivo foi explorar os dados e descobrir insights sobre essa cidade.

Obtenção dos Dados

Todos os dados usados aqui foram obtidos a partir do site Airbnb. Utilizaremos apenas o seguinte arquivo, disponível no seguinte link: http://data.insideairbnb.com/mexico/df/mexico-city/2019-11-25/visualisations/listings.csv

Verificamos a média dos preços dos aluguéis

df_clean['price'].describe()

O método describe() retorna os valores estatísticos:

Podemos observar que a média dos preços de 659 por dia e o preço máximo é de 1.491. E a metade das acomodações está na faixa de 581.

Bairros com mais acomodações

Para agrupar os bairros com mais acomodações utilizamos o pacote Folium para visualização de mapa interativo.

from folium import plugins lat = df['latitude'][:500].values long = df['longitude'][:500].values coordenadas = [] city_mexico = folium.Map(location=[-19.4194815,-99.1916445], # Coordenadas retiradas do Google Maps zoom_start=3) for la,lo in zip(lat,long): coordenadas.append([la,lo]) city_mexico.add_child(plugins.HeatMap(coordenadas)) city_mexico

Correlação entre as variáveis

Mas o que seria correlação?

Correlação é uma análise que mede o grau de dependência entre duas variáveis.

É necessário compreender que a correlação pode não ter um sentido de causa e efeito. Mas que a ligação entre as variáveis não implica necessariamente um condição para a ocorrência do outro, mas pode indicar possíveis causas que podem ser analisadas através da análise conjunta da matriz de correlação.

Fonte: http://comcept.org/wp-content/uploads/oldmedia/autismo-cectic.png

Aqui está um exemplo disso:

Essa charge foi baseada na pesquisa de um ex-médico chamado Andrew Wakefield que associou a vacina MMR (que protege contra o sarampo, rubéola e a caxumba) e o desenvolvimento de comportamento autista em algumas crianças. Causando assim, um alarde aos pais que decidiram não vacinar seus filhos, trazendo de volta algumas doenças consideradas erradicadas.

# criar uma matriz de correlação corr = df_clean[['price', 'minimum_nights', 'number_of_reviews', 'reviews_per_month', 'calculated_host_listings_count', 'availability_365']].corr() display(corr)

Outra forma de plotar uma correlação entre as variáveis é através do HeatMap — Mapa de Calor, uma representação gráfica de dados.

# plotar um heatmap a partir das correlações sns.heatmap(corr, cmap='RdBu_r', fmt='.2f', square=True, linecolor='white', annot=True);

Observando o HeatMap as cores mais aproximadas do vermelho representam uma alta correlação, enquanto os valores mais próximo ao azul, indicam uma baixa correlação. Observamos que existe uma linha central que traz uma alta correlação com o valor 1.0 que é apenas uma associação com as mesmas colunas no eixo x e y. As colunas que trazem uma correlação positiva são reviews_per_month e number_of_reviewscom 0.57. Que podemos inferir que a quantidade de reviews por mês aumenta consequentemente o número de reviews.

Uma outra observação é a variável price e calculated_host_listings_count. O que podemos inferir que os imóveis mais caros são de locadores que possui mais anúncios. O price também tem correlação negativa com number_of_reviews e reviews_per_month o que podemos deduzir que os imóveis mais caros são os que possuem menos reviews. O que podemos concluir que esse imóveis são esporadicamente não são alugados. As colunas que possuem correlação negativa são availability_365 e minium_nights. Podemos concluir que as acomodações disponíveis mais vezes no ano, são aquelas que possuem o menor número de noites mínimas. Outra correlação negativa são price e minium_nights que podemos deduzir que imóveis mais caros possuem um maior número de noites.

Tipo de imóvel mais alugado

# mostrar a quantidade de cada tipo de imóvel disponível df_clean.room_type.value_counts()

Dos imóveis disponíveis no DataFrame, aproximadamente:

  • 48,14% são quartos privativos
  • 48,05% são casas ou apartamentos alugados
  • 2,01 % são quartos compartilhados
  • 1,81% são quartos de hotel

Demonstrando que a quantidade de quartos privativos tem percentuais similares.

Localidade mais cara da Cidade do México

Para descobrir qual a localidade mais cara da Cidade do México, foi realizado uma sequência de abordagens estatísticas. No primeiro passo, agrupamos os bairros por sua média de preços. Analisando a lista de preços por bairros e pesquisa em site de viagem ( TripAdivsor, Quero viajar mais, Airbnb — Cidade do México), chegamos a seguinte hipotése: Um bairro como o Coyoacán que possui um Mercado conhecido e o museu da Frida Kahlo e que aparece em várias listas de melhores bairros provavelmente apareceria entre as cinco regiões mais caras.

Assim, verificamos a quantidade de móveis para os bairros que ficaram nas primeiras posições. Observando os dois demonstrativos de acomodações dos bairros “Cuajimalpa de Morelos” e “Cuauhtémoc”. O último apresenta uma maior quantidade de acomodações e os preços aparentemente mais elevados, o que demonstra que o cálculo da média não foi suficiente para apresentar o bairro mais caro. Iremos utilizar outra abordagem que será a mediana.

df_clean.groupby(["neighbourhood"]).price.median().sort_values(ascending=False)[:10]

Pela mediana os dois bairros mais caros são Miguel Hidalgo e Cuajimalpa de Morelos são bairros próximos situados na parte oeste da Cidade do México. Percebemos também que o bairro Coyancán possui o maior número de imóveis o que confirma que é um bairro bem turístico. Miguel Hidalgo faz fronteira com Azcapotzalco a norte; com Álvaro Obregón, Benito Juárez e Cuajimalpa de Morelos a sul; e com Cuauhtémoc a leste. Percebemos que os cinco bairros mais caros fazem parte da mesma demarcação territorial.

Média de noites mínimas para aluguel

# ver a média da coluna `minimum_nights` df.minimum_nights.mean()

O mínimo de noite são 3 dias, o que podemos deduzir que seja um final de semana ou feriados.

Por fim, vamos plotar as acomodações!

# plotar os imóveis pela latitude-longitude df_clean.plot(kind="scatter", x='longitude', y='latitude', alpha=0.4, c=df_clean['price'], s=8, cmap=plt.get_cmap('tab20c'), figsize=(12,8));

Conclusões:

Foi feita apenas uma análise superficial na base de dados do Airbnb, porém já se percebeu que existem outliers em algumas das variáveis e se esses dados não forem tratados podem sugerir interpretações equivocadas.

Por fim, lembra-se que este dataset é uma versão resumida, ideal apenas para uma abordagem inicial. Recomenda-se que seja usado, em uma próxima análise exploratória, o conjunto de dados completos, com 106 atributos disponíveis.

Espero que tenha gostado! :)

Caso queira ver o projeto completo: http://bit.ly/31XSGdX

Linkedin: Priscilla Nascimento Santos

Medium: Conecta Dados /Priscilla Santos

Obrigada e até mais!

Originally published at https://www.linkedin.com.

--

--