Hola Habr
Este artículo es una continuación del ciclo sobre
infraestructura de bicicletas en los Países Bajos . Esta vez hablaremos de autos.

Recientemente, en uno de los proyectos, pude acceder a datos de una cámara que reconoce los números de automóviles. Conociendo el número, puede obtener bastante información adicional. Pero luego parecía un poco de estos datos, se volvió interesante procesar toda la base de datos de automóviles holandeses en su conjunto, ya que estaba oficialmente abierta
al público .
Los resultados parecieron lo suficientemente interesantes como para compartirlos con los lectores. Aún así, los Países Bajos se encuentran entre los 10 principales países en términos de calidad de vida, por lo que fue muy interesante ver qué andan los holandeses además de las bicicletas.
Continúa debajo del corte.
Datos de origen
Las estadísticas se dividen en dos partes: pruebas locales y datos generales. En el primer caso, se utilizó una cámara de vigilancia profesional AXIS como fuente de datos, que tiene la capacidad de reconocimiento de matrículas integrado. El número en sí no es tan interesante para las estadísticas, la información adicional que se puede obtener es mucho más interesante. Y esto se hace en los Países Bajos simplemente, en el sitio web rdw.nl, para cualquier número, puede obtener información sobre el automóvil de forma gratuita enviando una simple solicitud GET (por ejemplo, puede ver el número aleatorio
H789GF ). Se devuelve una gran cantidad de datos, incluido el año de fabricación, la capacidad, el costo del catálogo, etc. Y esto ya es más interesante.
Y finalmente, en la segunda parte, se considerará toda la base. Para no hacer que las listas sean demasiado voluminosas, solo se considera la información para 2019, las marcas y modelos más actuales de automóviles registrados durante el año pasado.
Entonces comencemos.
Datos locales
Como se mencionó anteriormente, en el primer caso, se utilizó una cámara de vigilancia AXIS, que tiene la capacidad de reconocer los números de automóviles. La cámara está instalada en la entrada al centro de la oficina. El conjunto de datos aquí es, por supuesto, pequeño, pero su interés es que se trata de datos reales de las máquinas utilizadas por personas comunes, representantes de clase media, donde se pueden incluir trabajadores de TI. Los camiones también podrían estar en la lista, pero no había tantos; no hice ningún filtrado especial en tales modelos.
Durante los 3 días de trabajo de la cámara, se recopilaron 370 registros, en los que había aproximadamente 100 automóviles. De todo esto, se creó un conjunto de datos que se parece a esto:
car_id,datetime,manufacturer,model,year,price 3,2020-01-23 16:57:26,PEUGEOT,PEUGEOT 206,2004.0, 3,2020-01-23 16:57:26,PEUGEOT,PEUGEOT 206,2004.0, 26,2020-01-23 16:41:39,NISSAN,NISSAN NISSAN JUKE,2012.0,25965.0 26,2020-01-23 16:41:39,NISSAN,NISSAN NISSAN JUKE,2012.0,25965.0 26,2020-01-23 16:41:39,NISSAN,NISSAN NISSAN JUKE,2012.0,25965.0 26,2020-01-23 16:41:38,NISSAN,NISSAN NISSAN JUKE,2012.0,25965.0 21,2020-01-23 16:30:33,BMW,BMW 5ER REIHE,2004.0, 21,2020-01-23 16:30:33,BMW,BMW 5ER REIHE,2004.0, 21,2020-01-23 16:30:32,BMW,BMW 5ER REIHE,2004.0, 47,2020-01-23 16:24:55,VOLVO,VOLVO 240 POLAR U9,1993.0, 47,2020-01-23 16:24:54,VOLVO,VOLVO 240 POLAR U9,1993.0,
Los nombres de los campos, creo, son claros sin comentarios. Las placas se retiraron por razones de privacidad, sin embargo, para nuestro análisis no son necesarias.
Veamos qué datos se pueden extraer con Python y Pandas. Aquellos que no estén interesados en el código pueden desplazarse por el texto inmediatamente hasta los gráficos.
Conecte los componentes necesarios y cargue el conjunto de datos en Pandas:
import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv("license_plates.csv", quotechar='"')
Estamos interesados en los modelos de automóviles, por lo que seleccionamos el subconjunto necesario y eliminamos los duplicados (para cada pasaje del automóvil, la cámara genera 3-4 eventos). Para la conveniencia de mostrar gráficos, clasificamos el conjunto de datos por modelo de automóvil.
df_cars = df[['car_id', 'manufacturer', 'model', 'year', 'price']] df_cars = df_cars.drop_duplicates() df_cars['year'] = df_cars["year"].map(int) df_cars['price'] = df_cars["price"].map(get_rounded, na_action=None).astype('Int64') df_cars['car'] = df_cars['model'] + '/' + df_cars['year'].apply(str) df_cars = df_cars.sort_values('manufacturer', ascending=True, inplace=False)
Escribimos una función auxiliar de extracción de datos en forma de histograma:
def extract_as_hist(dataframe, param: str): g = dataframe.groupby([param]) msg_count = g.size().reset_index(name='counts') grouped = g.mean().reset_index() grouped['counts'] = msg_count['counts'] return grouped[param].values, grouped['counts'].values
Ahora puede pasar a lo más interesante: los gráficos reales.
Fabricante
Puedes ver los datos de los fabricantes:
manufacturer, manufacturer_cnt = extract_as_hist(df_cars, 'manufacturer') plt.gca().invert_yaxis() plt.xticks(np.arange(min(manufacturer_cnt)-2, max(manufacturer_cnt)+2, 1.0)) plt.barh(manufacturer, manufacturer_cnt, label='Car Manufacturer')
Tabla:

Volkswagen es eliminado en primer lugar con un margen notable, el segundo está dividido en partes iguales por BMW, Mercedes y Volvo. No se notó un solo VAZ durante la prueba;)
Año de fabricación
No daré el código, es lo mismo. Programación inmediata:

Como puede ver, la mayoría de las personas conducen autos no mayores de 5 años atrás, aunque los autos de 10 años no son exóticos. Incluso hay un par de rarezas de 1993 y 1994. Resultó ser el VOLVO 240 POLAR U9 y el BMW 325I CABRIOLET E2, respectivamente.
Precios
Te daré una tabla de inmediato:

Vemos que la mayor parte del automóvil tiene un pico muy claro a un precio promedio de aproximadamente 30K Euro. La parte superior de la parte superior está ocupada por TESLA MODELO X 2018 (120K) y PORSCHE CAYENNE DIESEL 2014 (115K). El automóvil más barato - 2012 PEUGEOT 107 para 5K.
Por supuesto, es imposible extraer más de un conjunto de datos de 100 máquinas; la selección es demasiado pequeña. Pasemos al siguiente paso: consideraremos los datos de todo el país.
Datos generales de Holanda
Primero debe descargar toda la base de datos, lo que nos permitirá extraer muchos más datos. Los archivos están disponibles en
la página RDW , el tamaño del archivo CSV que necesitamos es de aproximadamente 7 GB.
El código aquí es casi el mismo, no lo repetiré, iremos directamente a los resultados. Todos los cuadros se relacionan con los datos de 2019, para otros años, aquellos que lo deseen pueden imprimirlos por su cuenta. En total, se registraron 672 mil automóviles durante el año, lo que es bastante, teniendo en cuenta que la población total de los Países Bajos es de 17 millones de personas.
Fabricante
La lista general es bastante larga; obtengamos los primeros 30.

Como en la prueba local, Volkswagen toma el primer lugar por un amplio margen. El resto es visible desde el gráfico. De lo interesante, se puede notar Tesla, que ingresó con bastante confianza entre los 10 mejores autos comprados en 2019.
Por cierto, si aumenta otra parte del cronograma, puede ver que en 2019 en Lland Lada y UAZ se compraron o importaron, con un total de aproximadamente 10 piezas:

Si alguien no cree:
UAZ BUKHANKA , importado en mayo de 2019, el precio del catálogo es de 32385 euros (probablemente no entiendo algo aquí en precios, oh bueno). Y en total en los Países Bajos durante todos los años se han registrado hasta 732 automóviles LADA:

Modelo
Aquí los resultados fueron inesperados. El primer lugar en 2019 lo ocupa Tesla Model 3, de los cuales se registraron casi 30 mil. El resto es visible desde el gráfico.

Aquí, por supuesto, solo una parte del horario, todo sería demasiado largo.
Color
Hay pocas opciones en términos de colores, todo está claro en la imagen, incluso sin traducción.

Primero viene el gris, luego el blanco y negro, y en general, la elección de los colores es pequeña. Por cierto, la aerografía y el arte variado no son aceptados en Holanda por la palabra "completamente", tales autos en las calles nunca se han encontrado ni una sola vez.
Precio
La siguiente categoría, y bastante interesante, es el precio.

Al igual que en la prueba local, los datos son similares: el pico cae en los automóviles a un costo de 20-30K. El gráfico continúa a la derecha y más allá: los 3 primeros están ocupados por
VOLKSWAGEN TOUAREG ,
CAPRON T66 y
AUDI A6 3.0 TDI a un precio de 8,8 millones de euros.
Tipo de coche
Esta categoría resultó ser bastante interesante.

La parte superior es bastante obvia: stationwagen (station wagon), hatchback, MPV (station wagon) y sedán. Otra cosa es curiosa: las categorías de "limusina" (42 automóviles), "coche fúnebre" (47 automóviles) y "ambulancia" (153 automóviles). Y todo esto está en la categoría de "autos personales" (probablemente estas 47 personas ganan dinero extra en su tiempo libre en un coche fúnebre, es difícil de decir). Por cierto, si alguien está interesado en cómo se ve un coche fúnebre de pasajeros (en Rusia nunca he visto esos, aunque puede que no haya prestado atención), la foto debajo del spoiler:
Foto
Fuente: Google Como se sugiere en los comentarios, una categoría bastante popular de autos personales es el “camper” (
kampeerwagen ), 5604 de ellos se registraron en 2019.
Sobre esto terminaré con los gráficos, todavía había ideas para ver el peso o la potencia, pero el artículo ya es demasiado largo.
Conclusiones
Francamente, no soy un experto en automóviles, por lo que no habrá conclusiones separadas. El conjunto de datos está disponible para todos los que quieran, pueden recopilar estadísticas por su cuenta, hay fragmentos de código clave en el texto.
Si alguien tiene datos de otros países, sería interesante comparar.