Come visualizzare la percentuale sull'asse y dell'istogramma di panda


È possibile utilizzare la seguente sintassi di base per visualizzare le percentuali sull’asse y di un istogramma panda:

 import pandas as pd
import numpy as np
import matplotlib. pyplot as plt
from matplotlib. ticker import PercentFormatter

#create histogram, using percentages instead of counts
plt. hist (df[' my_column '], weights= np.ones ( len (df)) / len (df))

#apply percentage format to y-axis
plt. gca (). yaxis . set_major_formatter (PercentFormatter(1))
plt. show ()

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: mostra la percentuale sull’asse Y dell’istogramma di Panda

Supponiamo di avere il seguente DataFrame panda che contiene informazioni su vari giocatori di basket:

 import pandas as pd
import numpy as np

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

#createDataFrame
df = pd. DataFrame ({' points ': np. random . normal (loc=20, scale=2, size=300),
                   ' assists ': np. random . normal (loc=14, scale=3, size=300),
                   ' rebounds ': np. random . normal (loc=12, scale=1, size=300)})

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

      points assists rebounds
0 23.248691 20.197350 10.927036
1 18.776487 9.586529 12.495159
2 18.943656 11.509484 11.047938
3 17.854063 11.358267 11.481854
4 21.730815 13.162707 10.538596

Se creiamo un istogramma per visualizzare la distribuzione dei valori nella colonna dei punti , l’asse y mostrerà i conteggi per impostazione predefinita:

 import matplotlib. pyplot as plt 

#create histogram for points columb
plt. hist (df[' points '], edgecolor=' black ')

Per visualizzare invece le percentuali sull’asse y possiamo utilizzare la funzione PercentFormatter :

 import numpy as np
import matplotlib. pyplot as plt
from matplotlib. ticker import PercentFormatter

#create histogram, using percentages instead of counts
plt. hist (df[' points '], weights=np. ones ( len (df)) / len (df), edgecolor=' black ')

#apply percentage format to y-axis
plt. gca (). yaxis . set_major_formatter (PercentFormatter(1))
plt. show () 

Istogramma dei panda con percentuale sull'asse y

Tieni presente che l’asse Y ora mostra le percentuali.

Se vuoi rimuovere le cifre decimali dalle percentuali, usa semplicemente l’argomento decimals=0 nella funzione PercentFormatter() :

 import numpy as np
import matplotlib. pyplot as plt
from matplotlib. ticker import PercentFormatter

#create histogram, using percentages instead of counts
plt. hist (df[' points '], weights=np. ones ( len (df)) / len (df), edgecolor=' black ')

#apply percentage format to y-axis
plt. gca (). yaxis . set_major_formatter (PercentFormatter(1, decimals= 0 ))
plt. show () 

L'istogramma di Panda rimuove la percentuale decimale sull'asse y

L’asse Y ora mostra le percentuali senza cifre decimali.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:

Come modificare il numero di contenitori utilizzati nell’istogramma di Panda
Come modificare l’intervallo dell’asse X nell’istogramma di Panda
Come tracciare istogrammi per gruppo in Pandas

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *