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

Einen Kommentar hinzufügen

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