Värmekarta över restider per pendlingsätt
I den här övningen skapar du en värmekarta över nationella data som jämför pendlingstider (i minuter) och färdsätt. Du utgår från data_row, en lista med värden från den enda dataraden i ett JSON API-svarsobjekt. Listor över modes (5 färdsätt) och pendlingstimes (9 tidsintervall) har redan skapats och skrivs ut i konsolen. Du ska forma om den enstaka dataraden till en lista av listor, bygga en DataFrame lämplig att skicka till sns.heatmap, och sedan skapa värmekartan.
Dataraden innehåller data om de 5 färdsätten grupperade i set om 9 pendlingstider. En iteration motsvarar ett komplett set av pendlingstider.
pandas och seaborn är inlästa med de vanliga aliasen.
Den här övningen är en del av kursen
Analys av amerikansk folkräkningsdata i Python
Övningsinstruktioner
- Sätt
iter_lentill längden på listantimes - I listomfattningen konstruerar du ett intervall med start 0, stopp lika med längden på
data_row, och steg lika mediter_len - Skapa en värmekarta med
commuting-DataFrame som första parameter; annotera värmekartan med pendlingsantalet i tusental (använd heltalsdivision för att dividera med1000)
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Set iter_len to the number of commute times
iter_len = ____
# Break row into list of lists by travel mode
data = [data_row[i:i+iter_len] for i in range(____)]
# Create DataFrame, set data type to int
commuting = pd.DataFrame(data=data, index=modes, columns=times)
commuting = commuting.astype(int)
# Create heatmap of commuters by mode by income
sns.heatmap(____, annot=____, fmt = "d", cmap="YlGnBu")
plt.xticks(rotation = 50)
plt.yticks(rotation = 50)
plt.show()