Welcher Bundesstaat ist am marktfreundlichsten?
Während du die Daten zu Wochenmärkten erkundest, fragst du dich, welche Muster sichtbar werden, wenn du auf Ebene der Bundesstaaten aggregierst. Sind manche Staaten marktfreundlicher als andere? Um das zu untersuchen, gruppierst du deine Daten nach Bundesstaat und berechnest die logarithmierte Anzahl der Märkte (log_markets) und die Bevölkerungszahl der Staaten (log_pop).
markets_and_pop = (markets
.groupby('state', as_index = False)
.agg({
'name': lambda d: log(len(d)),
'state_pop': lambda d: log(d.iloc[0]) })
.rename(columns = {
'name': 'log_markets',
'state_pop': 'log_pop' }))
Zur Visualisierung verwendest du ein Regressionsdiagramm, um eine Idee von der „normalen“ Beziehung zwischen Markt- und Bevölkerungszahlen zu bekommen, und ein Text-Scatter, um interessante Ausreißer schnell zu erkennen.
Diese Übung ist Teil des Kurses
So verbesserst du deine Datenvisualisierungen in Python
Anleitung zur Übung
- Iteriere über die Zeilen des DataFrames
markets_and_pop. - Platziere Anmerkungen neben den Punkten im Streudiagramm.
- Reduziere die Schriftgröße der Anmerkungen auf
10Punkt.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
g = sns.regplot(
"log_markets", "log_pop",
ci = False,
# Shrink scatter plot points
scatter_kws = {'s':2},
data = markets_and_pop)
# Iterate over the rows of the data
for _, row in markets_and_pop.____():
state, _, _, log_markets, log_pop = row
# Place annotation and reduce size for clarity
g.annotate(state, (____,____), ____ = ____)
plt.show()