昨天我們已經從 JSON 中成功提取了需要的資料:日期、收盤價、成交量。雖然這些資料已經整理成 list,但如果我們要進一步做統計、分析或畫圖,單純的 list 結構會變得不好操作。這時候就要引入一個非常強大的工具 —— pandas DataFrame。
雖然我們可以用 list 或 dictionary 來存放資料,但如果數據越來越多,就會變得不容易閱讀或處理。DataFrame 提供幾個好處:
也就是說,把我們昨天整理的三個 list 合併成 DataFrame,資料就能以「表格」形式呈現,後續操作會輕鬆許多。
程式碼示範
import twstock
import pandas as pd
stock = twstock.Stock('2330')
dates = stock.date
stock_data = {
'Date': stock.date,
'Close': stock.close,
'Volume': stock.capacity
}
closes = stock.close
# 轉換成 pandas DataFrame
df = pd.DataFrame(stock_data)
volumes = stock.capacity
df['Date'] = pd.to_datetime(df['Date'])
# 把三個欄位打包在一起
stock_data = list(zip(dates, closes, volumes))
# 依照 'Date' 欄位做降冪排序 (ascending=False),並重設 index
df = df.sort_values(by='Date', ascending=False).reset_index(drop=True)
for row in stock_data[:5]:
print(row)
print(df.head())
執行結果 (範例),這張表格就是用 pandas DataFrame 轉換後的結果,讓我們能更清楚地觀察股票價格與成交量的變化。
Date Close Volume
0 2025-09-18 1285.0 24049000
1 2025-09-17 1265.0 32019276
2 2025-09-16 1280.0 42279997
3 2025-09-15 1255.0 26019117
4 2025-09-12 1260.0 28224895
重點整理
那今天就先這樣。