pandas: générer et de l'intrigue de la moyenne
J'ai une pandas dataframe comme:
In [61]: df = DataFrame(np.random.rand(3,4), index=['art','mcf','mesa'],
columns=['pol1','pol2','pol3','pol4'])
In [62]: df
Out[62]:
pol1 pol2 pol3 pol4
art 0.661592 0.479202 0.700451 0.345085
mcf 0.235517 0.665981 0.778774 0.610344
mesa 0.838396 0.035648 0.424047 0.866920
et je veux générer une ligne avec la moyenne de l'ensemble des politiques de repères et puis l'intrigue.
Actuellement, la façon dont je le fais c'est:
df = df.T
df['average'] = df.apply(average, axis=1)
df = df.T
df.plot(kind='bar')
Est-il un moyen élégant pour éviter la double transposition?
J'ai essayé:
df.append(DataFrame(df.apply(average)).T)
df.plot(kind='bar')
Cela aura pour effet d'ajouter les valeurs correctes mais ne met pas à jour l'indice et le graphique est foiré.
Une clarification. Le résultat du code avec la double transposition est-ce:
C'est ce que je veux. Pour afficher à la fois les critères de référence et la moyenne des politiques, et pas seulement la moyenne. J'étais juste curieux de savoir si je peux faire mieux.
Remarque que la légende est généralement foiré. Pour un corrigé:
ax = df.plot(kind='bar')
ax.legend(patches, list(df.columns), loc='best')
d.T.plot()
.Ainsi, dans l'architecture informatique de ce type de graphique est probablement ce que vous trouverez de 99% de l'ensemble des documents de recherche. La hauteur des barres représente crue de la cib (instructions par cycle) ou normalisée de la performance.
Bien sûr, mais je signale simplement que vous pouvez stocker les données dans la transposée si elle fait plus de sens, et seulement complot dans une autre orientation (en traçant
df.T
au lieu de df
).OriginalL'auteur vkontori | 2012-12-15
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement utiliser la méthode d'instance
mean
de laDataFrame
et de tracer les résultats. Il n'est pas nécessaire pour la transposition.Mise à jour
Si vous voulez tracer les bars de toutes les colonnes et la moyenne, vous pouvez
append
la moyenne:Si votre mise en page ne correspond pas à l'intrigue secondaire
tight_layout
va ajuster le matplotlib paramètres.OriginalL'auteur bmu