IPO tecnologiche per anno su tutte le borse
Ogni società nel dizionario listings ha un anno di IPO compreso tra il 1972 e il 2017. Pertanto, in questo contesto, è opportuno considerare la colonna 'IPO Year' di ciascun foglio come una variabile categoriale con un ordine ben definito, anche se è di dtype float64.
Qui combinerai i dati di tutte e tre le borse e traccerai la distribuzione degli anni di IPO per le società del settore Technology. pandas come pd e matplotlib.pyplot come plt sono già stati importati e il dizionario listings dell'esercizio precedente è nel tuo workspace.
Questo esercizio fa parte del corso
Importing and Managing Financial Data in Python
Istruzioni dell'esercizio
- Usa un ciclo for con la variabile iteratore
exchangeche contiene il nome di ciascuna borsa.- A ogni iterazione, aggiungi a
all_listingsil DataFrame corrispondente alla chiaveexchangeinlistings.
- A ogni iterazione, aggiungi a
- Dopo il ciclo, usa
pd.concat()per unire i tre DataFrame inall_listingse assegna il risultato alisting_data. - Filtra
listing_dataper le società'Technology'e assegna il risultato atech_companies. - Assegna la colonna
'IPO Year'datech_companiesaipo years. - Per questi dati, usa
.dropna()per rimuovere i valori mancanti e.astype()per convertire aint. - Applica
.value_counts()aipo_years, ordina gli anni in ordine crescente e crea un grafico a barre intitolato'Tech IPOs by Year'. - Ruota gli
xticksdi 45 gradi e mostra il risultato.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# Create lists
exchanges = ['amex', 'nasdaq', 'nyse']
all_listings = []
# Use for loop to create listing_data
for exchange in exchanges:
all_listings.____(____[____])
# Combine DataFrames
listing_data = pd.____(____)
# Select tech companies
tech_companies = listing_data[____.____ == 'Technology']
# Create ipo_years
ipo_years = ____[____]
# Drop missing values and convert to int
ipo_years = ipo_years.____().____(int)
# Count values, sort ascending by year, and create a bar plot
ipo_years.____().plot(kind=____, ____='Tech IPOs by Year')
# Rotate xticks and show result
plt.xticks(____=____)
# Show the plot
plt.show()