2017-06-17 2 views
-2

Ich habe die folgende Zeile in Python ausgeführt:Wie zeichne ich ein horizontales Balkendiagramm in Python Matplolib aus der Ausgabetabelle der vorherigen Zeile?

teams = train.groupby('localTeam')['local_won'].sum() 
print (teams) 

und bekam dies als Ausgabe:

localTeam 
AD Almeria     37 
AD Ceuta      11 
Alaves      263 
Albacete      210 
Alcorcon      79 
Alcoyano      6 
Algeciras      31 
Alicante      2 
Almeria      152 
Alzira       7 
Aragon       8 
Athletic Club    502 
Atletico Madrileno   93 
Atletico Marbella    33 
Atletico de Madrid   544 
Aviles      13 
Badajoz      78 
Barakaldo      70 
Barcelona     652 
Barcelona Atletic   195 
Betis      467 
Bilbao Athletic    111 
Burgos      126 
Burgos CF      4 
CD Malaga     201 
Cadiz      289 
Calvo Sotelo     50 
Cartagena      49 
Castellon     292 
Castilla      222 
          ... 
Pontevedra     45 
Racing de Ferrol    66 
Racing de Santander   386 
Rayo Vallecano    407 
Real Burgos     58 
Real Madrid     663 
Real Oviedo     332 
Real Sociedad    483 
Real Union      8 
Real Zaragoza    451 
Recreativo de Huelva   310 
Reus       7 
Sabadell      231 
Salamanca     283 
Sant Andreu     86 
Sestao      80 
Sevilla      510 
Sevilla Atletico    20 
Sporting de Gijon   435 
Tenerife      375 
Terrassa      60 
Toledo      61 
UCAM Murcia     7 
Universidad de Las Palmas  5 
Valencia      518 
Valladolid     449 
Vecindario      7 
Villarreal     273 
Villarreal B     26 
Xerez      168 
Name: local_won, dtype: int64 

Jetzt möchte ich mit den vom höchsten zum niedrigsten sortiert Werten eine horizontale Balkendiagramm zeichnen.

+0

-Datensatz zusammenbrach. es ist eigentlich eine Tabelle mit localTeam als Spalte-1-Header und keine Überschrift für Spalte-2 –

+0

Bitte klar in Ihrer Frage, was Sie in einer Antwort benötigen. –

Antwort

0

Sie können die Serie von .sort_values(ascending=False) sortieren und Sie es über .plot(kind="bar") plotten können:

hier wird
import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt 

df = pd.DataFrame({"team":np.random.choice(list("ABCDE"), size=100), 
        "won":np.random.randint(0,2, size=100)}) 

teams = df.groupby('team')['won'].sum().sort_values(ascending=False) 
teams.plot(kind="bar") 

plt.show() 

enter image description here

+0

Vielen Dank .. funktioniert perfekt :) –

+0

Wenn dies Ihr Problem löst, können Sie [akzeptieren] (https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) die antworte so, dass deine Frage nicht für immer ungelöst bleibt. Da du neu bei SO bist, möchte ich erwähnen, dass du die [Tour], [ask] und [mcve] lesen kannst, um deine nächsten Fragen, die du hier stellst, zu verbessern. – ImportanceOfBeingErnest

Verwandte Themen