開始使用免費開始

各交易所歷年科技業 IPO

listings 字典中的每家公司,其 IPO 年份介於 1972 到 2017 年之間。因此,在此情境下,即使該欄位的 dtypefloat64,各工作表中的 「'IPO Year'」 欄也可視為具有明確順序的類別變數。

你將把三個交易所的資料合併,並繪出科技業公司 IPO 年份的分佈。已匯入 pandas(作為 pd)與 matplotlib.pyplot(作為 plt),且上一個練習中的 listings 字典已在你的工作區中。

本練習屬於課程

在 Python 中匯入與管理財務資料

檢視課程

練習說明

  • 使用一個 for 迴圈,迭代變數為 exchange,其內容為各交易所名稱。
    • 在每次迭代中,將 listings 中鍵為 exchange 的 DataFrame 附加到 all_listings
  • 迴圈結束後,使用 pd.concat()all_listings 中的三個 DataFrame 合併,並將結果指定給 listing_data
  • 篩選 listing_data 中產業為 「'Technology'」 的公司,將結果指定給 tech_companies
  • tech_companies 的 「'IPO Year'」 欄位指定給 ipo years
  • 對此資料使用 .dropna() 移除遺漏值,並以 .astype() 轉換為 int
  • ipo_years 套用 .value_counts(),將年份依遞增排序,並繪製標題為 「'Tech IPOs by Year'」 的長條圖。
  • xticks 旋轉 45 度並顯示結果。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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()
編輯並執行程式碼