Technology-IPO’s per jaar op alle beurzen
Elk bedrijf in de listings-dictionary heeft een IPO-jaar tussen 1972 en 2017. Daarom is het in deze context passend om de kolom 'IPO Year' van elk werkblad te beschouwen als een categorische variabele met een duidelijke volgorde, ook al is het dtype float64.
Hier combineer je data van alle drie de beurzen en visualiseer je de verdeling van IPO-jaren voor bedrijven in de sector Technology. pandas als pd en matplotlib.pyplot als plt zijn geïmporteerd, en de listings-dictionary uit de vorige oefening staat in je werkruimte.
Deze oefening maakt deel uit van de cursus
Financiële data importeren en beheren in Python
Oefeninstructies
- Gebruik een for-loop met iteratorvariabele
exchangedie de naam van elke beurs bevat.- Voeg in elke iteratie de DataFrame die hoort bij de sleutel
exchangeinlistingstoe aanall_listings.
- Voeg in elke iteratie de DataFrame die hoort bij de sleutel
- Gebruik na afloop van de loop
pd.concat()om de drie DataFrames inall_listingste combineren en wijs het resultaat toe aanlisting_data. - Filter
listing_dataop bedrijven in'Technology'en wijs het resultaat toe aantech_companies. - Wijs de kolom
'IPO Year'uittech_companiestoe aanipo years. - Gebruik voor deze data
.dropna()om ontbrekende waarden te verwijderen en.astype()om te converteren naarint. - Pas
.value_counts()toe opipo_years, sorteer de jaren in oplopende volgorde en maak een staafdiagram met de titel'Tech IPOs by Year'. - Rotateer de
xticks45 graden en toon het resultaat.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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()