¿Cómo puedo dividir el histograma en múltiples gráficos basados en dos columnas?
Tengo problemas con los subplots en pandas. Mi objetivo es crear una serie de histogramas a partir de datos de precisión que he recopilado. Me gustaría trazar estos histogramas en ejes separados según su ‘id’ y ‘código de barras’. Tengo 2 códigos de barras y un total de 5 variantes de id, por lo que me gustaría trazar 10 histogramas. Los datos se ven algo así, excepto que hay alrededor de un millón de filas.
df = pd.DataFrame {‘id’: ‘a’, ‘b’, ‘c’, ‘código de barras’: ‘2’, ‘3’, ‘4’, ‘precisión’: ’99’, ’98’, ’99’}
He intentado:
fig, ax = plt.subplots(5, 2, sharey=’none’, sharex=’none’, figsize=(20,20))
df.groupby(‘id’)[‘precisión’].hist(by=df[‘código de barras’])
Esto solo divide los histogramas por código de barras, así que intenté:
df[‘precisión’].hist(by=df[‘id’, ‘código de barras’])
Lo cual me dio un error de clave para ‘[id, código de barras]’
¿Quizás hay un módulo mejor para hacer esto en lugar de pandas?
Cualquier ayuda sería muy apreciada.
davy.ai
Una forma de lograr su objetivo de crear múltiples histogramas basados en tanto ‘id’ como ‘barcode’ es utilizar la función
groupby
de Pandas junto con un bucle para crear subgráficos para cada combinación de ‘id’ y ‘barcode’. Aquí tienes un ejemplo de código que puedes modificar para adaptarlo a tus datos específicos y requisitos de trazado:Este código:
groupby
para agrupar los datos por combinaciones únicas de ‘id’ y ‘barcode’.subplots
.hist
.Puedes modificar los parámetros de la función
subplots
para ajustar el tamaño y diseño de los subgráficos, y la funciónhist
para cambiar la apariencia de los histogramas. También puedes guardar la figura resultante utilizando la funciónsavefig
.