Technologie-IPOs pro Jahr an allen Börsen
Jedes Unternehmen im Dictionary listings hat ein IPO-Jahr zwischen 1972 und 2017. Daher ist es in diesem Kontext sinnvoll, die Spalte 'IPO Year' in jedem Sheet als kategoriale Variable mit klar definierter Reihenfolge zu betrachten, auch wenn ihr dtype float64 ist.
Hier kombinierst du die Daten aller drei Börsen und visualisierst die Verteilung der IPO-Jahre für Unternehmen aus dem Sektor Technology. pandas als pd und matplotlib.pyplot als plt sind bereits importiert, und das Dictionary listings aus der vorherigen Übung befindet sich in deinem Workspace.
Diese Übung ist Teil des Kurses
Importing and Managing Financial Data in Python
Anleitung zur Übung
- Verwende eine for-Schleife mit der Iteratorvariablen
exchange, die den Namen jeder Börse enthält.- Hänge in jeder Iteration das DataFrame, das dem Schlüssel
exchangeinlistingsentspricht, anall_listingsan.
- Hänge in jeder Iteration das DataFrame, das dem Schlüssel
- Verwende nach Abschluss der Schleife
pd.concat(), um die drei DataFrames inall_listingszu kombinieren, und weise das Ergebnislisting_datazu. - Filtere
listing_datanach Unternehmen aus dem Sektor'Technology'und weise das Ergebnistech_companieszu. - Weise die Spalte
'IPO Year'austech_companiesder Variablenipo yearszu. - Entferne für diese Daten mit
.dropna()fehlende Werte und konvertiere mit.astype()zuint. - Wende
.value_counts()aufipo_yearsan, sortiere die Jahre aufsteigend und erstelle ein Balkendiagramm mit dem Titel'Tech IPOs by Year'. - Rotiere die
xticksum 45 Grad und zeige das Ergebnis an.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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()