LoslegenKostenlos loslegen

Beliebtheit von Waren nach Bundesstaat

Der Farmers’-Market-Datensatz enthält Spalten zu 28 verschiedenen Waren und dazu, ob sie auf dem jeweiligen Markt verkauft werden. Du möchtest herausfinden, ob es interessante Muster dazu gibt, wie wahrscheinlich es ist, eine bestimmte Ware auf den Märkten eines Bundesstaats zu finden. Um diese Frage zu beantworten, fasst du die Daten in drei Spalten zusammen:

  • state – der Name des Bundesstaats
  • good – die betreffende Ware
  • prop_selling – der Anteil der Märkte in diesem Bundesstaat, die genau diese Ware verkaufen

Um schnell zu sehen, ob sich Muster abzeichnen, wählst du eine Teilmenge interessanter Waren aus und erstellst ein einfaches Text-Streudiagramm: die Ware auf der x-Achse und den Anteil der Märkte eines Bundesstaats, die diese Ware verkaufen, auf der y-Achse.

Diese Übung ist Teil des Kurses

So verbesserst du deine Datenvisualisierungen in Python

Kurs anzeigen

Anleitung zur Übung

  • Filtere goods_by_state auf die gewünschten Waren, die in to_plot aufgeführt sind.

  • Blende die Punkte im Streudiagramm aus, indem du ihre Größe auf nichts setzt.

    • Hinweis: In sns.scatterplot() wird size verwendet, um Werte aus einer Spalte auf eine Größenskala abzubilden, während s verwendet wird, um eine konstante Größe für alle Punkte festzulegen.
  • Richte den Text zentriert aus, damit er direkt an der x-Achsenposition der Ware sitzt.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Subset goods to interesting ones
to_plot = ['Cheese','Maple','Fruits','Grains','Seafood','Plants','Vegetables']
goods_by_state_small = goods_by_state.____("good in "+str(to_plot))

g = sns.scatterplot('good','prop_selling', data = goods_by_state_small,
                    # Hide scatter points by shrinking to nothing
                    ____ = ____)

for _,row in goods_by_state_small.iterrows():
  g.annotate(row['state'], (row['good'], row['prop_selling']), 
             # Center annotation on axis
             ha = '____', 
             size = 10)

plt.show()
Code bearbeiten und ausführen