Je suis sur une lancée, je viens de trouver une manière encore plus simple de le faire en utilisant le mot-clé by dans la méthode hist :
df.hist('N', by='Letter')
C'est un petit raccourci très pratique pour scanner rapidement vos données regroupées !
Pour les futurs visiteurs, le résultat de cet appel est le graphique suivant :
En réponse aux questions ci-dessous, voici un exemple d'adaptation spécifique des graphiques histogramme :
# import des bibliothèques
import pandas as pd
import numpy as np
# Créer un dataframe de test
x = ['A']*300 + ['B']*400 + ['C']*300
y = np.random.randn(1000)
z = np.random.randn(1000)
df = pd.DataFrame({'Letter':x, 'N1':y, 'N2':z})
# Tracer les histogrammes
axes = df.hist(['N1','N2'], by='Letter',bins=10, layout=(2,2),
legend=True, yrot=90,sharex=True,sharey=True,
log=True, figsize=(6,6))
for ax in axes.flatten():
ax.set_xlabel('N')
ax.set_ylabel('Compte')
ax.set_ylim(bottom=1,top=100)