it-swarm.com.de

Plotten Sie ein Balkendiagramm aus Pandas DataFrame

Angenommen, ich habe ein DataFrame, das so aussieht:

Hour | V1 | V2 | A1 | A2
 0   | 15 | 13 | 25 | 37  
 1   | 26 | 52 | 21 | 45 
 2   | 18 | 45 | 45 | 25 
 3   | 65 | 38 | 98 | 14

Ich versuche ein Balkendiagramm zu erstellen, um die Spalten V1 Und V2 Mit dem Hour zu vergleichen. Wenn ich mache:

import matplotlib.pyplot as plt
ax = df.plot(kind='bar', title ="V comp",figsize=(15,10),legend=True, fontsize=12)
ax.set_xlabel("Hour",fontsize=12)
ax.set_ylabel("V",fontsize=12)

Ich bekomme eine Handlung und eine Legende mit allen Werten und Namen der Spalten. Wie kann ich meinen Code so ändern, dass im Plot und in der Legende nur die Spalten V1 Und V2 Angezeigt werden?

32
Alfonso

Um nur eine Auswahl Ihrer Spalten zu zeichnen, können Sie die gewünschten Spalten auswählen, indem Sie eine Liste an den Indexoperator übergeben:

ax = df[['V1','V2']].plot(kind='bar', title ="V comp", figsize=(15, 10), legend=True, fontsize=12)

Was Sie versucht haben, war df['V1','V2'] dies wird ein KeyError auslösen, da korrekterweise keine Spalte mit diesem Label existiert, obwohl es auf den ersten Blick komisch aussieht, dass Sie eine Liste übergeben, daher die doppelten eckigen Klammern [[]].

import matplotlib.pyplot as plt
ax = df[['V1','V2']].plot(kind='bar', title ="V comp", figsize=(15, 10), legend=True, fontsize=12)
ax.set_xlabel("Hour", fontsize=12)
ax.set_ylabel("V", fontsize=12)
plt.show()

enter image description here

58
EdChum