Který stát je nejvstřícnější k farmářským trhům?
Při průzkumu dat o farmářských trzích tě možná napadne, jaké vzory by se objevily po agregaci na úrovni států. Jsou některé státy k farmářským trhům vstřícnější než jiné? Abys to zjistil/a, seskupíš data podle státu a získáš logaritmicky transformovaný počet trhů (log_markets) a počet obyvatel jednotlivých států (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' }))
Pro vizualizaci použiješ regresní graf, abys získal/a představu o „normálním" vztahu mezi počtem trhů a počtem obyvatel, a textový bodový graf pro rychlou identifikaci zajímavých odlehlých hodnot.
Toto cvičení je součástí kurzu
Vylepšení datových vizualizací v Pythonu
Pokyny k cvičení
- Iteruj přes řádky DataFrame
markets_and_pop. - Umísti anotace vedle příslušných bodů v bodovém grafu.
- Zmenši velikost textu anotací na
10bodů.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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()