
Uno de los conjuntos de datos abiertos más completo y que mejor conozco, así como uno de los más usados para análisis de datos genéricos, es la información de la accidentabilidad en la ciudad de Barcelona elaborado a partir de los expedientes de los accidentes de tráfico reportados por la Guàrdia Urbana de Barcelona (GUB) desde el año 2010.
En uno de mis proyectos personales he querido hacer un pequeño análisis de la accidentabilidad de patinetes y otros vehículos de movilidad personal (VMP) en Barcelona durante el año 2022. Para ello he descargado el conjunto de datos completo de accidentabilidad correspondiente a dicho año, publicado en cinco ficheros csv distintos: accidentes gestionados, vehículos implicados, personas involucradas, accidentes según tipología y accidentes según causa mediata.
Para llevar a cabo este análisis he creado un único dataframe maestro, con la información que he considerado necesaria para responder las cuestiones que me he planteado, a partir de combinar la información de los cinco ficheros csv proporcionados. Estos cinco ficheros contienen 19 atributos comunes, un número que considero muy elevado, y que tras una primera inspección visual en un editor de texto plano veo que es possible reducir.
A continuación, y a modo de ejemplo, me gustaría explicar cómo he hecho la selección de los atributos comunes que usaré en el dataframe maestro y qué criterios he seguido en este proceso para elegir unos u otros. Debajo destaco los atributos comunes a los cinco ficheros csv originales y mi decisión acerca de ellos.
- Numero_expedient. Código único identificador del informe del accidente. Lo mantengo.
- Codi_districte. Código del distrito donde ha ocurrido el accidente. Lo mantengo.
- Nom_districte. Nombre del distrito, redundante con el anterior. Lo elimino después de crear un csv auxiliar con la correspondencia entre nombre y código de cada distrito.
- Codi_barri. Código del barrio donde ha ocurrido el accidente, nivel de granularidad más preciso que el distrito. Lo mantengo
- Nom_barri. Nombre del barrio, redundante con el anterior. Lo elimino después de crear un csv auxiliar con la correspondencia entre nombre y código de cada barrio.
- Codi_carrer. Código de la calle donde ha ocurrido el accidente. Lo elimino, ya que he decidido no tener en cuenta esta información en mi análisis.
- Nom_carrer. Nombre de la calle, redundante con el anterior, y por tanto también lo elimino.
- Num_postal. Número de la calle a la altura en la que ha ocurrido el accidente. Lo elimino por el mismo motivo que los dos anteriores.
- NK_Any, Mes_any, Dia_mes, Hora_dia. Atributos que combinaré para obtener en un único atributo de tipo datetime la fecha y la hora en la que ha ocurrido el accidente. El atributo Hora_dia proporcionado no tiene en cuenta el minuto, por lo tanto la precisión es de una hora.
- Descripcio_dia_setmana. Nombre del día de la semana en el que se ha producido el accidente. Lo elimino, ya que considero que es una información redundante que se puede obtener fácilmente a posteriori a partir de la fecha con funciones de librerías específicas de python o R.
- Nom_mes. Nombre del mes en el que se ha producido el accidente. Lo elimino por el mismo motivo que el atributo anterior, considero que es una información redundante que se puede obtener fácilmente a posteriori a partir de la fecha.
- Descripcio_torn. Turno de servicio de la GUB en el momento de producirse el accidente. Lo descarto porque considero que no es relevante en mi análisis.
- Coordenada_UTM_X_ED50, Coordenada_UTM_Y_ED50. Coordenadas geográficas del punto en el que se ha producido el accidente en formato UTM50, un formato sustituido por el ETRS89 en el año 2015. Los elimino ya que considero que son datos obsoletos además de redundantes con los atributos longitud y latitud.
- Longitud, Latitud. Coordenadas geográficas del punto en el que se ha producido el accidente en formato WGS84, un formato usado por muchos SIG y otras herramientas de visualización de datos georeferenciados. Los mantengo.
Finalmente, me gustaría enumerar los atributos que he incluído en el dataframe maestro y que he exportado a un fichero csv para usarlo en el análisis, especificando cuáles son los derivados del proceso de selección y adecuación de atributos y cuáles son derivados de la transformación de la información de los accidentes reportados para adecuarlos a las necesidades del análisis.
- Numero_expedient. Común. Código único identificador del informe del accidente.
- Codi_districte. Común. Código del distrito donde ha ocurrido el accidente.
- Codi_barri. Común. Código del barrio donde ha ocurrido el accidente.
- Dia_Hora. Común. Día y hora en que se ha producido el accidente.
- Latitud. Común. Coordenada geográfica de la ubicación en la que se ha producido el accidente.
- Longitud. Común. Coordenada geográfica de la ubicación en la que se ha producido el accidente.
- TipusVeh_Bicicleta. Transformado. Número de bicicletas implicadas en el accidente.
- TipusVeh_Otros_veh. Transformado. Número de vehículos distintos a bicicletas y VMPs implicados en el accidente.
- TipusVeh_VMP. Transformado. Número de VMPs implicados en el accidente.
- Pers_Conductor. Transformado. Número de conductores de vehículos lesionados en el accidente.
- Pers_Passatger. Transformado. Número de pasajeros lesionados en el accidente.
- Pers_Vianant. Transformado. Número de peatones lesionados en el accidente.
- Es_causa_peaton. Transformado. Responsabilidad del peatón en el accidente según el informe de la Guàrdia Urbana de Barcelona.
- Ubicacion_peaton. Transformado. Ubicación del peatón dentro del espacio viario urbano en el momento del accidente.
Podéis acceder al detalle del proceso de selección y adecuación de atributos en la Biblioteca de Proyectos de mi portfolio personal: Accidentabilidad de VMPs en Barcelona e incidencia sobre peatones. Parte I. Limpieza y adecuación de los datos.
En este artículo he presentado un ejemplo de selección de atributos, en el que a partir de la información proporcionada en un portal de datos abiertos, he determinado cuál es la información que me aporta valor para el análisis que quiero llevar a cabo y he hecho alguna pequeña transformación para obtener el formato más adecuado para su uso posterior. En este punto me gustaría dejar claro que esta selección de atributos es la adecuada para este caso, en función de las respuestas que se busquen podría requerirse otra selección diferente. Espero que este pequeño ejemplo os haya sido de interés.
Leave a Reply