IPO-uri în sectorul tehnologic pe an, pe toate bursele
Fiecare companie din dicționarul listings are un an al IPO-ului cuprins între 1972 și 2017. Prin urmare, în acest context, este adecvat să tratezi coloana 'IPO Year' din fiecare foaie ca pe o variabilă categorică cu o ordine bine definită, chiar dacă are dtype float64.
În acest exercițiu vei combina datele de la toate cele trei burse și vei reprezenta grafic distribuția anilor IPO pentru companiile din sectorul Technology. pandas a fost importat ca pd, matplotlib.pyplot ca plt, iar dicționarul listings din exercițiul anterior se află în spațiul tău de lucru.
Acest exercițiu face parte din cursul
Importul și gestionarea datelor financiare în Python
Instrucțiuni pentru exercițiu
- Folosește o buclă
forcu variabila iteratorexchange, care conține numele fiecărei burse.- La fiecare iterație, adaugă DataFrame-ul corespunzător cheii
exchangedinlistingsînall_listings.
- La fiecare iterație, adaugă DataFrame-ul corespunzător cheii
- După finalizarea buclei, folosește
pd.concat()pentru a combina cele trei DataFrame-uri dinall_listingsși atribuie rezultatul variabileilisting_data. - Filtrează
listing_datapentru companiile din sectorul'Technology'și atribuie rezultatul variabileitech_companies. - Atribuie coloana
'IPO Year'dintech_companiesvariabileiipo_years. - Folosește
.dropna()pentru a elimina valorile lipsă și.astype()pentru a converti datele la tip întreg. - Aplică
.value_counts()peipo_years, sortează anii în ordine crescătoare și creează un grafic de tip bară cu titlul'Tech IPOs by Year'. - Rotește etichetele
xtickscu 45 de grade și afișează rezultatul.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()