les pandas diagramme en boîte pour plusieurs colonnes
Mon trames de données (les pandas de la structure) ressemble à ci-dessus
Maintenant, je veux faire une boîte à moustaches pour chaque entité séparée de la toile. La séparation condition est la première colonne. J'ai même parcelle pour l'histogramme (code ci-dessous), mais je ne peux pas faire de travail de la version de la boîte à moustaches.
hist_params = {'normed': True, 'bins': 60, 'alpha': 0.4}
# create the figure
fig = plt.figure(figsize=(16, 25))
for n, feature in enumerate(features):
# add sub plot on our figure
ax = fig.add_subplot(features.shape[1] // 5 + 1, 6, n + 1)
# define range for histograms by cutting 1% of data from both ends
min_value, max_value = numpy.percentile(data[feature], [1, 99])
ax.hist(data.ix[data.is_true_seed.values == 0, feature].values, range=(min_value, max_value),
label='ghost', **hist_params)
ax.hist(data.ix[data.is_true_seed.values == 1, feature].values, range=(min_value, max_value),
label='true', **hist_params)
ax.legend(loc='best')
ax.set_title(feature)
Code ci-dessus de produire de telles sortie (ci-joint une partie seulement de celui-ci):
OriginalL'auteur user1877600 | 2016-06-30
Vous devez vous connecter pour publier un commentaire.
DataFrame.une boîte à moustaches()
automatise ce processus, plutôt bien:Le premier argument indique pandas qui les colonnes de tracer, dans la deuxième colonne du groupe par (ce que vous appelez la séparation de l'état), et le troisième sur quels axes pour dessiner.
Liste de toutes les colonnes, mais celui que vous voulez de groupe peut s'avérer fastidieuse, mais vous pouvez l'éviter en omettant que le premier argument. Ensuite, vous devez explicitement le nom des deux autres:
OriginalL'auteur Alberto Garcia-Raboso