Debiuty giełdowe spółek technologicznych według roku na wszystkich giełdach
Każda spółka w słowniku listings debiutowała na giełdzie w latach 1972–2017. W tym kontekście warto potraktować kolumnę 'IPO Year' z każdego arkusza jako zmienną kategoryczną z określoną kolejnością – nawet jeśli jej dtype to float64.
W tym ćwiczeniu połączysz dane ze wszystkich trzech giełd i zwizualizujesz rozkład lat debiutów spółek z sektora technologicznego. Biblioteki pandas jako pd oraz matplotlib.pyplot jako plt zostały już zaimportowane, a słownik listings z poprzedniego ćwiczenia jest dostępny w twoim środowisku.
To ćwiczenie jest częścią kursu
Importowanie i zarządzanie danymi finansowymi w Pythonie
Instrukcje do ćwiczenia
- Użyj pętli for ze zmienną iterującą
exchange, która przyjmuje nazwę każdej giełdy.- W każdej iteracji dołącz ramkę danych odpowiadającą kluczowi
exchangeze słownikalistingsdoall_listings.
- W każdej iteracji dołącz ramkę danych odpowiadającą kluczowi
- Po zakończeniu pętli użyj
pd.concat(), aby połączyć trzy ramki danych zall_listings, i przypisz wynik dolisting_data. - Przefiltruj
listing_datapod kątem spółek z sektora'Technology'i przypisz wynik dotech_companies. - Przypisz kolumnę
'IPO Year'ztech_companiesdoipo_years. - Użyj
.dropna(), aby usunąć brakujące wartości, a następnie.astype(), aby przekonwertować dane na typint. - Zastosuj
.value_counts()naipo_years, posortuj lata w kolejności rosnącej i utwórz wykres słupkowy z tytułem'Tech IPOs by Year'. - Obróć etykiety osi X (
xticks) o 45 stopni i wyświetl wynik.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()