En este análisis exploratorio de datos, examinamos la base de datos de data.nantesmetropole.fr que contiene información sobre las instalaciones para ciclistas en la ciudad de Nantes. Utilizamos Python y las bibliotecas Plotly para visualizar y presentar los resultados.
En 2020/2021, se realizó un nuevo inventario exhaustivo de las instalaciones ciclistas en el territorio de Nantes Métropole. Este inventario induce cambios en la representación cartográfica de los objetos aportando mayor precisión en las líneas ciclistas: la representación geométrica se realiza ahora sobre el eje individual de cada desarrollo ciclista (un carril bici a cada lado de la calzada da lugar a dos objetos lineales), un atributo en cada objeto proporciona información sobre la especificidad de un diseño de ciclo bidireccional o no. Los datos proceden de un completo inventario realizado en 2020 y 2021 sobre los espacios abiertos al tráfico público (incluidos los carriles bici específicos).
Datos y Variables
Luego de instalar las bibliotecas necesarias, importamos y cargamos los datos en un dataframe de Pandas.
pip install pandas plotly
import pandas as pd #Gestion de données
import matplotlib.pyplot as plt #Visualisation de données
import geopandas as gpd #Gestion données spatiales
import plotly.express as px
cyclables_nantes = pd.read_csv('cyclables_nantes.csv', sep=';')
Explorar y preparar los datos
Antes de realizar visualizaciones, es importante explorar y preparar los datos según sea necesario. Realizamos operaciones para filtrar, contar, agrupar y transformar los datos según su tipo. También es necesario verificar los datos nulos y seleccionar las columnas o variables con las que vamos a trabajar.
cyclables_nantes.info()
cyclables_nantes.dtypes
cyclables_nantes.isnull().sum()
Todo el código está disponible en un enlace a Github al final de la publicación.
De la base de datos filtramos las siguientes variables:
- Municipio: El municipio al que pertenece la vía ciclista.
- Latitud: La coordenada de latitud de la vía ciclista.
- Longitud: La coordenada de longitud de la vía ciclista.
- Geometría: Información adicional sobre la geometría de la vía ciclista.
- Tipo de vía: El tipo de vía ciclista, como carril bici, ciclovía, etc.
- Largo: La longitud de la vía ciclista en metros.

La clasificación de las diferentes instalaciones ciclistas incluye 8 objetos:
- carril bici : espacio reservado exclusivamente a los ciclistas en la calzada, separado del tráfico motorizado por una simple señalización (y no por un separador referenciado como característica de un carril bici). El espacio suele estar delimitado por una tira de pintura. La señalización del carril bici es identificable en el suelo por una figura de ciclista y/o cheurones.
- Carriles bici de un solo sentido o de dos sentidos : pavimento reservado exclusivamente para bicicletas de dos o tres ruedas. Puede ser unidireccional o bidireccional. En el suelo, una ciclovía se identifica por el hecho de que se encuentra fuera de la parte recorrida por todos los demás usuarios (en particular, los automóviles) y está separada de esta vía por uno de estos tipos de separadores:
- de una zona neutralizada por dos líneas continuas
- un sitio limpio separado físicamente de la pista principal
- elementos en alzados (bordes, setos, etc.)
- elementos irregulares (cuando el carril bici está nivelado con la acera o desplazado)
- de estacionamientos
- Espacios verdes
- Ciclismo de doble sentido : El ciclismo de doble sentido, o “DSC”, no es tanto un objeto como un concepto o una característica que transmite una calle. Una llamada calle de «bidireccional para bicicletas» tiene tráfico de dos sentidos, o de dos sentidos, pero una de estas direcciones está reservada solo para ciclistas. La bicicleta de dos vías, o “DSC”, no es tanto un objeto como un concepto o una característica que transmite una calle. Una llamada calle de «bidireccional para bicicletas» tiene tráfico de dos sentidos, o de dos sentidos, pero una de estas direcciones está reservada solo para ciclistas.
- Vías verdes: carril exclusivamente reservado a la circulación de vehículos no motorizados, peatones y jinetes. Se caracteriza por la presencia, en cada extremo, de los paneles C115 en la entrada y C116 en el final de la vía verde
- Carriles bus habilitados : en los carriles bus se puede materializar un trazado que combine figurines de ciclistas y balizas de orientación tipo carril bici muy espaciadas. Cruce superior: en los puentes, los derechos de paso suelen ser limitados y requieren esta convivencia en el mismo espacio.
- El chaucidou : Un chaucidou, o calzada con carril central no señalizado, es una disposición especial de una calzada cuando es imposible, por razones de anchura disponible, trazar carriles bici en ella. Luego se crea un carril central para el tráfico general, sin marcar porque acomoda el tráfico en ambas direcciones. El ancho restante se destina a arcenes pavimentados por donde pueden circular peatones y ciclistas y permitir el paso de vehículos motorizados invadiendo estos espacios.
- Otras figurillas o figurillas : Las figurillas ciclistas no se consideran como una instalación ciclista como tal a menos que sirvan para marcar la presencia de un carril bici de doble sentido. La calificación «Otros» se utilizó durante el inventario para capturar las especificidades de ciertas instalaciones que no corresponden a tipos claramente definidos.

Preguntas de Análisis
A partir de esta base de datos, nos planteamos las siguientes preguntas y las respondemos con visualizaciones interactivas con Plotly:
- ¿Cuántas vías ciclistas hay en cada municipio?

via_count_municipio = cyclables_nantes_ok.groupby('commune').size().reset_index(name='Cantidad')
fig = px.bar(via_count_municipio, x='commune', y='Cantidad',
title='Combien y a-t-il de voies cyclables dans chaque municipalité ?')
fig.update_layout(xaxis_title='Commune', yaxis_title='Nombre de pistes cyclables')
fig.show()
2. ¿Cuál es la distribución de los tipos de vías ciclistas?

via_count_tipo = cyclables_nantes_ok['type_amenagement'].value_counts().reset_index()
via_count_tipo.columns = ['type_amenagement', 'Cantidad']
fig = px.pie(via_count_tipo, names='type_amenagement', values='Cantidad',
title='Répartition des types de voies cyclables ?')
fig.show()
3. ¿Cuál es la longitud total de las vías ciclistas por municipio?

via_length_municipio = cyclables_nantes_ok.groupby('commune')['shape_length'].sum().reset_index(name='Longitud total')
fig = px.bar(via_length_municipio, x='commune', y='Longitud total',
title='Longueur totale des voies cyclables par municipalité ?')
fig.update_layout(xaxis_title='Commune', yaxis_title='Longueur totale')
fig.show()
4. ¿Cuál es la longitud promedio de las vías ciclistas por tipo de vía?

via_avg_length_tipo = cyclables_nantes_ok.groupby('type_amenagement')['shape_length'].mean().reset_index(name='Longitud promedio')
fig = px.bar(via_avg_length_tipo, x='type_amenagement', y='Longitud promedio',
title='Longueur moyenne des voies cyclables par type de voie ')
fig.update_layout(xaxis_title='Type Aménagement', yaxis_title='Longueur moyenne')
fig.show()
5. ¿Cuáles son las vías ciclistas más largas?

top_longest_vias = cyclables_nantes_ok.nlargest(10, 'shape_length')
fig = px.bar(top_longest_vias, x='shape_length', y='type_amenagement', orientation='h',
title='Voies cyclables les plus longues par commune', color='commune')
fig.update_layout(xaxis_title='Longueur', yaxis_title='Type amenagement')
fig.show()
6. ¿Cuál es la longitud acumulada de las vías ciclistas por tipo de vía?

via_cumulative_length = cyclables_nantes_ok.groupby('type_amenagement')['shape_length'].sum().cumsum().reset_index(name='Longitud acumulada')
fig = px.area(via_cumulative_length, x='type_amenagement', y='Longitud acumulada',
title='Longueur cumulée des voies cyclables par type de voie ')
fig.update_layout(xaxis_title='Type amenagement', yaxis_title='Longueur cumulée')
fig.show()
7. ¿Cuál es la distribución de las longitudes de las vías ciclistas?

fig = go.Figure(data=[go.Histogram(x=cyclables_nantes_ok[‘shape_length’])])
fig.update_layout(title=’Distribution des longueurs des voies cyclables’,
xaxis_title=’Longueur’, yaxis_title=’Fréquence’)
fig.show()
8. ¿Cuál es la longitud acumulada de las vías ciclistas por municipio?

via_cumulative_length_municipio = cyclables_nantes_ok.groupby('commune')['shape_length'].sum().cumsum().reset_index(name='Longitud acumulada')
fig = px.line(via_cumulative_length_municipio, x='commune', y='Longitud acumulada',
title='Longueur cumulée des voies cyclables par commune')
fig.update_layout(xaxis_title='Commune', yaxis_title='Longueur cumulée')
fig.show()
9. ¿Cuáles son las vías ciclistas más comunes por municipio?

top_common_vias_municipio = cyclables_nantes_ok.groupby(['commune', 'type_amenagement']).size().reset_index(name='Cantidad')
top_common_vias_municipio = top_common_vias_municipio.sort_values(['commune', 'Cantidad'], ascending=[True, False])
top_common_vias_municipio = top_common_vias_municipio.groupby('commune').head(1)
fig = px.bar(top_common_vias_municipio, x='commune', y='Cantidad', color='type_amenagement',
title='Voies cyclables les plus courantes par commune')
fig.update_layout(xaxis_title='Commune', yaxis_title='Nombre', legend_title='Type amenagement')
fig.show()
10. ¿Cuál es la distribución geográfica de las vías ciclistas en Nantes?

fig = px.scatter_mapbox(cyclables_nantes_ok, lat='Latitude', lon='Longitude', hover_name='type_amenagement', hover_data=['shape_length'],
color='type_amenagement', zoom=10, height=600)
fig.update_layout(mapbox_style='open-street-map')
fig.update_layout(title='Répartition géographique des voies cyclables à Nantes')
fig.show()
Conclusiones
A través del análisis de los datos de las vías ciclistas en Nantes, hemos obtenido información valiosa sobre la cantidad, longitud, distribución y tipos de vías ciclistas en cada municipio. Algunas conclusiones destacadas son:
- Nantes tiene la mayor cantidad de vías ciclistas con 4295, seguido por Saint-Herblain con 727.
- Las vías ciclistas más comunes son los carriles bici, seguidos por las ciclovías.
- La longitud total de las vías ciclistas varía significativamente entre los municipios, donde Nantes sobresale como ciudad capital con 273190 mts, teniendo la longitud total más larga.
- Al calcular las vías ciclistas más largas por municipio, encuentramos que Bouguenais es la primera con 2808 mts en cohabitación peatón-bicicleta.
- Existe una distribución desigual de las longitudes de las vías ciclistas, con la mayoría de ellas concentradas en el rango de 0-5 km.
- La longitud acumulada de las vías ciclistas muestra un crecimiento constante en la mayoría de los tipos de vías.
Estos hallazgos nos brindan información importante para comprender cómo está constituida la infraestructura ciclista en Nantes y pueden ser utilizados para mejorar la planificación y el desarrollo de la red de vías ciclistas en la ciudad.
En resumen, este análisis exploratorio de datos nos ha permitido visualizar y comprender mejor las características y distribución de las vías ciclistas en Nantes. Las visualizaciones interactivas creadas con Python y las bibliotecas Plotly, nos han ayudado a analizar y presentar de manera efectiva la información de manera clara y concisa.
Fuentes
Aménagements cyclables de Nantes Métropole
Photo: Gwen Fran – Flickr licence CC

