Vilket delstat är mest marknadsvänligt?
När du utforskar bondsmarknadsdatan undrar du vilka mönster som kan framträda om du aggregerar på delstatsnivå. Är vissa delstater mer marknadsvänliga än andra? För att undersöka detta grupperar du dina data efter delstat och beräknar det logaritmerade antalet marknader (log_markets) och delstaternas befolkningsstorlekar (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' }))
För att visualisera datan väljer du att använda ett regressionsdiagram för att få en bild av det "normala" förhållandet mellan antal marknader och befolkningsstorlek, samt ett text-scatter-diagram för att snabbt identifiera intressanta avvikande värden.
Den här övningen är en del av kursen
Förbättra dina datavisualiseringar i Python
Övningsinstruktioner
- Iterera över raderna i DataFrame:n
markets_and_pop. - Placera annoteringarna intill sina respektive punkter i spridningsdiagrammet.
- Minska annoteringarnas textstorlek till
10punkter.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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()