Panda's: een staafdiagram maken om de tien belangrijkste waarden te visualiseren
U kunt de volgende basissyntaxis gebruiken om een staafdiagram in panda’s te maken dat alleen de 10 meest voorkomende waarden in een specifieke kolom bevat:
import pandas as pd import matplotlib. pyplot as plt #find values with top 10 occurrences in 'my_column' top_10 = (df[' my_column ']. value_counts ()). iloc [:10] #create bar chart to visualize top 10 values top_10. plot (kind='bar')
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: Maak een staafdiagram in Panda’s om de top 10 waarden te visualiseren
Stel dat we het volgende panda’s DataFrame hebben dat informatie bevat over de teamnaam en de punten die zijn gescoord door 500 verschillende basketbalspelers:
import pandas as pd import numpy as np from string import ascii_uppercase import random from random import choice #make this example reproducible random. seeds (1) n.p. random . seeds (1) #createDataFrame df = pd. DataFrame ({' team ': [choice(ascii_uppercase) for _ in range(500)], ' points ': np. random . uniform (0, 20, 500)}) #view first five rows of DataFrame print ( df.head ()) team points 0 E 8.340440 1 S 14.406490 2 Z 0.002287 3 Y 6.046651 4 C 2.935118
We kunnen de volgende syntaxis gebruiken om een staafdiagram te maken dat de 10 meest voorkomende waarden in de teamkolom weergeeft:
import matplotlib. pyplot as plt #find teams with top 10 occurrences top_10_teams = (df[' team ']. value_counts ()).[:10] #create bar chart of top 10 teams top_10_teams. plot (kind=' bar ')
Het staafdiagram bevat alleen de namen van de 10 meest voorkomende teams.
Op de x-as wordt de teamnaam weergegeven en op de y-as de frequentie.
Merk op dat we de plot ook kunnen aanpassen om deze esthetisch aantrekkelijker te maken:
import matplotlib. pyplot as plt #find teams with top 10 occurrences top_10_teams = (df[' team ']. value_counts ()).[:10] #create bar chart of top 10 teams top_10_teams. plot (kind=' bar ', edgecolor=' black ', rot=0) #add axis labels plt. xlabel (' Team ') plt. ylabel (' Frequency ')
Merk op dat het edgecolor- argument een zwarte rand rond elke balk heeft toegevoegd en dat het rot- argument de x-aslabels 90 graden heeft gedraaid om ze gemakkelijker leesbaar te maken.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:
Panda’s: een gestapeld staafdiagram maken
Panda’s: staven annoteren in een staafdiagram
Panda’s: meerdere kolommen in een staafdiagram plotten