So zeichnen sie histogramme nach gruppen in pandas


Sie können die folgenden Methoden verwenden, um Histogramme nach Gruppen in einem Pandas-DataFrame darzustellen:

Methode 1: Zeichnen Sie Histogramme nach Gruppen mithilfe mehrerer Diagramme

 df[' values_var ']. hist (by=df[' group_var '])

Methode 2: Zeichnen Sie Histogramme nach Gruppen in einem einzigen Diagramm

 plt. hist (group1, alpha= 0.5 , label=' group1 ')
plt. hist (group2, alpha= 0.5 , label=' group2 ')
plt. hist (group3, alpha= 0.5 , label=' group3 ')

Die folgenden Beispiele zeigen, wie jede Methode in der Praxis mit dem folgenden Pandas-DataFrame verwendet wird, der die von Basketballspielern aus drei verschiedenen Teams erzielten Punkte zeigt:

 import pandas as pd
import numpy as np

#make this example reproducible
n.p. random . seeds (1)

#createDataFrame
df = pd. DataFrame ({' team ': np.repeat ([' A ',' B ',' C '], 100 ),
                   ' points ': np. random . normal (loc= 20 , scale= 2 , size= 300 )})

#view head of DataFrame
print ( df.head ())

  team points
0 A 23.248691
1 A 18.776487
2 A 18.943656
3 A 17.854063
4 A 21.730815

Beispiel 1: Zeichnen Sie Histogramme nach Gruppen mithilfe mehrerer Diagramme

Der folgende Code zeigt, wie drei Histogramme erstellt werden, die die Verteilung der von den Spielern aller drei Teams erzielten Punkte anzeigen:

 #create histograms of points by team
df[' points ']. hist (by=df[' team '])

Wir können auch das Argument „edgecolor“ verwenden, um Kantenlinien zu jedem Histogramm hinzuzufügen, und das Argument „ figsize “, um die Größe jedes Histogramms zu erhöhen, um die Visualisierung zu erleichtern:

 #create histograms of points by team
df[' points ']. hist (by=df[' team '], edgecolor=' black ', figsize = ( 8 , 6 )) 

Beispiel 2: Zeichnen Sie Histogramme nach Gruppen mithilfe eines einzelnen Diagramms

Der folgende Code zeigt, wie man drei Histogramme erstellt und sie alle im selben Diagramm platziert:

 import matplotlib.pyplot as plt

#define points values by group
A = df. loc [df[' team '] == ' A ', ' points ']
B = df. loc [df[' team '] == ' B ', ' points ']
C = df. loc [df[' team '] == ' C ', ' points ']

#add three histograms to one plot
plt. hist (A, alpha= 0.5 , label=' A ')
plt. hist (B, alpha= 0.5 , label=' B ')
plt. hist (C, alpha= 0.5 , label=' C ')

#add plot title and axis labels
plt. title (' Points Distribution by Team ')
plt. xlabel (' Points ')
plt. ylabel (' Frequency ')

#add legend
plt. legend (title=' Team ')

#displayplot
plt. show ()

Das Endergebnis ist ein Diagramm, das drei übereinander gestapelte Histogramme anzeigt.

Hinweis : Das Alpha- Argument gibt die Transparenz jedes Histogramms an. Dieser Wert kann zwischen 0 und 1 liegen. Indem wir diesen Wert auf 0,5 setzen, können wir jedes überlagerte Histogramm besser visualisieren.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere gängige Diagramme in Python erstellen:

So zeichnen Sie mehrere Linien in Matplotlib
So erstellen Sie einen Boxplot aus Pandas DataFrame
So zeichnen Sie mehrere Pandas-Säulen in einem Balkendiagramm auf

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert