Airbnb no proporciona datos abiertos en el sentido de bases de datos gigantes o volcados con los que podemos trabajar. Sin embargo, Inside Airbnb utiliza información pública recopilada del sitio web de Airbnb y analiza la información disponible al público sobre las listas de Airbnb de una ciudad, y proporciona filtros y métricas clave para que podamos ver cómo se está utilizando Airbnb en las principales ciudades. alrededor del mundo. Inside Airbnb es un conjunto de herramientas y datos independientes, no comerciales, que no están asociados ni respaldados por Airbnb ni por ninguno de los competidores de Airbnb.
Estaré trabajando con Toronto data . Porque vivo aquí y conozco algunos de los barrios aquí. Le invitamos a elegir la ciudad que prefiera.
Vamos a ver los listados y calendarios de Airbnb, y trataremos de proporcionar un análisis exploratorio para predecir los precios de los listados, tanto si estuviéramos trabajando hipotéticamente en Airbnb como también para un consumidor. ¡Comencemos!
Calendario
calendario = pd.read_csv (& # 039; calendar.csv.gz & # 039;)
imprimir (& # 039; Tenemos & # 039 ;, calendar.date.nunique (), & # 039; días y & # 039 ;, calendar.listing_id.nunique (), & # 039; listados únicos en los datos del calendario. & # 039;)
calendar.date.min (), calendar. date.max ()
El calendario cubre un período de tiempo del año, es decir, el precio y la disponibilidad todos los días durante el próximo año. En nuestro caso, de 2018–10–16 a 2019–10–15.
Disponibilidad en el calendario
Cuando miramos los datos del calendario, es posible que queramos hacer preguntas como: qué tan ocupado estará ¿Será para los anfitriones de Airbnb en Toronto el próximo año?
calendar.available.value_counts ()
f (falso) significa que no está disponible, t (verdadero) significa que está disponible. Para averiguar la disponibilidad promedio diaria para un año, convertiremos la columna disponible a 0 si está disponible y 1 si no.
calendar_new = calendar [['date', 'available']]
calendar_new ['busy'] = calendar_new.available.map (lambda x : 0 si x == & # 039; t & # 039; else 1)
calendar_new = calendar_new.groupby (& # 039; date & # 039;) ['busy'] .mean (). Reset_index ()
calendar_new ['date'] = pd.to_datetime (calendar_new ['date'])
El mes más ocupado en Toronto fue octubre que acaba de pasar. Los próximos meses ocupados parecen después de abril y se extienden hasta el verano. Todo esto está dentro de nuestra experiencia y expectativas.
Precio en el calendario
¿Cómo cambian los precios a lo largo del año por mes?
Eliminamos el símbolo “$” en la columna de precios y lo convertimos en numérico, y convertimos la fecha en datetime data type.
El precio de Airbnb en Toronto aumenta en los meses de Julio, agosto y octubre. De acuerdo, estos tres meses son los mejores meses para visitar Toronto.
¿Cómo cambian los precios durante el día de la semana?
calendar ['dayofweek'] = calendar.date.dt.weekday_name
cats = [ 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
price_week = calendar [['dayofweek','price']]
price_week = calendar.groupby (['dayofweek']). Mean (). Reindex (cats)
price_week.drop (& # 039; listing_id & # 039 ;, axis = 1, inplace = True)
price_week.plot ()
ticks = list (range (0, 7, 1)) # puntos en el eje x donde desea que aparezca la etiqueta
labels = "Mon Tues Weds Thurs Fri Sat Sun" .split ()
plt.xticks (ticks, etiquetas);
Los viernes y sábados cuestan más de $ 10 que el resto de la semana.
Listas
Número de listados en cada vecindario
listados = pd.read_csv (& # 039; Listings.csv.gz & # 039;)
print (& # 039; Tenemos & # 039 ;, Listings.id.nunique (), & # 039; listados en los datos del listado. & # 039;)
El vecindario que tiene el mayor número de Los listados son Waterfront Communities-The Island, y casi cuatro veces más que el segundo vecindario más (Niagara). En el mapa de encabezado anterior, también podemos ver eso.
El listado más caro de Airbnb en Toronto es $ 12933 / noche. De la lista de url parece legítimo por lo que puedo decir. El ático de un coleccionista de arte en el barrio más elegante de Toronto. ¡Agradable!
Para no ser afectado por los casos extremos, decidí eliminar los listados que excedan los $ 600 / noche, así como los 7 listados al precio 0, para el siguiente análisis exploratorio. [19659008] Lista la distribución de precios después de eliminar los valores atípicos
Listings.loc [(Listingsprice 0)]. Price.hist (bins = 200)
plt.ylabel (& # 039; Cuenta & # 039;)
plt.xlabel (& # 039; Precio de listado en $ & # 039;)
plt.title (& # 039; Histograma de los precios de listado & # 039;);
Vecindad vs. Precio
No solo Waterfront Communities-The Island tiene el mayor número de listados, también disfruta del precio mediano más alto, y Milliken tiene el precio mediano más bajo.