Teknologibolag på börsen – IPO-fördelning per år på alla börser
Varje bolag i listings-ordlistan har ett IPO-år mellan 1972 och 2017. Det är därför lämpligt att betrakta kolumnen 'IPO Year' i varje blad som en kategorisk variabel med en väldefinierad ordning, även om den har dtype float64.
Här kombinerar du data från alla tre börser och plottar fördelningen av IPO-år för bolag inom teknologisektorn. pandas som pd och matplotlib.pyplot som plt har importerats, och listings-ordlistan från föregående övning finns i din arbetsyta.
Den här övningen är en del av kursen
Importera och hantera finansiell data i Python
Övningsinstruktioner
- Använd en for-loop med iteratorvariabeln
exchangesom innehåller namnet på varje börs.- Lägg i varje iteration till den DataFrame som motsvarar nyckeln
exchangeilistingstillall_listings.
- Lägg i varje iteration till den DataFrame som motsvarar nyckeln
- När loopen är klar, använd
pd.concat()för att kombinera de tre DataFrames iall_listingsoch tilldela resultatet tilllisting_data. - Filtrera
listing_dataför'Technology'-bolag och tilldela resultatet tilltech_companies. - Tilldela kolumnen
'IPO Year'fråntech_companiestillipo_years. - Använd
.dropna()för att ta bort saknade värden och.astype()för att konvertera tillint. - Tillämpa
.value_counts()påipo_years, sortera åren i stigande ordning och skapa ett stapeldiagram med titeln'Tech IPOs by Year'. - Rotera
xticks45 grader och visa resultatet.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()