Hoe het percentage op de y-as van het panda-histogram wordt weergegeven
U kunt de volgende basissyntaxis gebruiken om percentages op de y-as van een panda-histogram weer te geven:
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 ()
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: Toon het percentage op de Y-as van het Panda-histogram
Stel dat we het volgende panda’s DataFrame hebben dat informatie bevat over verschillende basketbalspelers:
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
Als we een histogram maken om de verdeling van waarden in de puntenkolom te visualiseren, toont de y-as standaard de tellingen:
import matplotlib. pyplot as plt
#create histogram for points columb
plt. hist (df[' points '], edgecolor=' black ')
Om in plaats daarvan percentages op de y-as weer te geven, kunnen we de functie PercentFormatter gebruiken:
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 ()
Merk op dat de Y-as nu percentages weergeeft.
Als u decimalen uit percentages wilt verwijderen, gebruikt u eenvoudig het argument decimals=0 in de functie 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 ()
Op de Y-as worden nu percentages weergegeven zonder cijfers achter de komma.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:
Hoe u het aantal gebruikte bakken in het Panda-histogram kunt wijzigen
Hoe het bereik van de X-as in Panda’s histogram te veranderen
Hoe histogrammen per groep in Panda’s te plotten