LoslegenKostenlos loslegen

State-to-State Flows

Im Video hast du eine Heatmap der Migration von Bundesstaat zu Bundesstaat gesehen, die allerdings unübersichtlich war. In dieser Übung schaust du dir nur die Flüsse innerhalb des Mittleren Westens an.

Ein DataFrame state_to_state wurde geladen, und die ersten Zeilen werden in der Konsole angezeigt. Denk daran: Die Zeilenbezeichnungen geben den Bundesstaat an, in den gezogen wurde, die Spaltennamen den Bundesstaat, aus dem gezogen wurde.

Eine Liste midwest_states mit den Namen der Staaten des Mittleren Westens ist definiert. (Gib sie in der Konsole aus, wenn du sehen möchtest, welche Staaten enthalten sind.) Der DataFrame verwendet ebenfalls Staatsnamen als Spaltennamen und Index. Deshalb nutzt du midwest_states, um die Spalten und Zeilen auszuwählen, die du für diese Heatmap verwenden willst.

pandas und seaborn sind mit den üblichen Aliasen importiert.

Diese Übung ist Teil des Kurses

Analyse von US-Volkszählungsdaten mit Python

Kurs anzeigen

Anleitung zur Übung

  • Bilde einen Teil-DataFrame, der nur die Spalten aus der Liste der Staatsnamen enthält und nur die Zeilen, deren Indizes in dieser Liste vorkommen.
  • Durch das Subsetting könnten Spalten und Zeilen umgeordnet worden sein. Prüfe, ob midwest.index gleich midwest.columns ist.
  • Sortiere den DataFrame nach Zeilenindex (axis = 0) und nach Spaltenname (axis = 1). Verwende in beiden Fällen inplace = True.
  • Erstelle eine Heatmap von midwest. Verwende eine Gelb-Grün-Blau-Farbskala mit cmap="YlGnBu".

Interaktive Übung

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

# Retain only rows and columns of Midwest states
midwest = state_to_state[____][state_to_state.index.isin(____)]

# Are rows and columns still in the same order?
print(____)

# Sort the rows (by index) and columns (by name)
midwest.sort_index(axis = ____, ____)
midwest.sort_index(axis = ____, ____)

# Create a heatmap of migration flows
____
plt.xticks(rotation=90)
plt.yticks(rotation=0)
plt.show()
Code bearbeiten und ausführen