Pandalarda histogramlar gruba göre nasıl çizilir?
Bir pandas DataFrame’de histogramları gruba göre çizmek için aşağıdaki yöntemleri kullanabilirsiniz:
Yöntem 1: Birden fazla grafik kullanarak histogramları gruba göre çizin
df[' values_var ']. hist (by=df[' group_var '])
Yöntem 2: Tek bir çizim kullanarak histogramları gruba göre çizin
plt. hist (group1, alpha= 0.5 , label=' group1 ') plt. hist (group2, alpha= 0.5 , label=' group2 ') plt. hist (group3, alpha= 0.5 , label=' group3 ')
Aşağıdaki örnekler, üç farklı takımdan basketbolcuların attığı sayıları gösteren aşağıdaki pandalar DataFrame ile her yöntemin pratikte nasıl kullanılacağını göstermektedir:
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
Örnek 1: Birden fazla grafik kullanarak histogramları gruba göre çizin
Aşağıdaki kod, üç takımın her birindeki oyuncuların attığı puanların dağılımını gösteren üç histogramın nasıl oluşturulacağını gösterir:
#create histograms of points by team df[' points ']. hist (by=df[' team '])
Ayrıca her histograma kenar çizgileri eklemek için edgecolor argümanını ve görselleştirilmesini kolaylaştırmak amacıyla her histogramın boyutunu artırmak için incir boyutu argümanını da kullanabiliriz:
#create histograms of points by team df[' points ']. hist (by=df[' team '], edgecolor=' black ', figsize = ( 8 , 6 ))
Örnek 2: Tek bir grafik kullanarak histogramları gruba göre çizin
Aşağıdaki kod, üç histogramın nasıl oluşturulacağını ve bunların hepsinin aynı çizime nasıl yerleştirileceğini gösterir:
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 ()
Nihai sonuç, üst üste yığılmış üç histogramı gösteren bir çizimdir.
Not : Alfa bağımsız değişkeni her histogramın şeffaflığını belirtir. Bu değer 0 ila 1 arasında değişebilir. Bu değeri 0,5’e eşitleyerek her bir üst üste bindirilmiş histogramı daha iyi görselleştirebiliriz.
Ek kaynaklar
Aşağıdaki eğitimlerde Python’da diğer ortak grafiklerin nasıl oluşturulacağı açıklanmaktadır:
Matplotlib’de birden fazla satır nasıl çizilir
Pandas DataFrame’den kutu grafiği nasıl oluşturulur
Bir çubuk grafikte birden fazla Pandas sütunu nasıl çizilir