台積電於民國83年9月5日(1994/9/5)在台灣證券交易所掛牌上市,分析一下截至今日股價表現,
繼續上一篇[股價預測篇-爬蟲part2(金融類)]的dataframe繼續...
從下圖看出Dataframe結構是多個index,因此,要按index取出我們的值
df.columns
到這邊我先寫了兩個小函式,排除掉多餘字串,留下乾淨的收盤價(浮點數)跟年度(整數)
def isfloat(num):
try:
float(num)
return True
except ValueError:
return False
def isint(num):
try:
int(num)
return True
except ValueError:
return False
透過list裡面寫迴圈及條件式,就可以輕鬆把收盤價跟年度,弄得整整齊齊了。
list_close = [float(df['年度股價(元)']['收盤'][i]) for i in range(len(df['年度股價(元)']['收盤'])) if isfloat(df['年度股價(元)']['收盤'][i])]
list_int = [int(df['年度']['年度'][i]) for i in range(len(df['年度']['年度'])) if isint(df['年度']['年度'][i])]
加上2022年,以及取出的2021~1994年的收盤價就完成啦~
list_year = [2022]+list_int[0:28]
整成有29筆收盤價的dataframe,並從1994~2022按年度升冪排序,加入年度為index為了折線圖。
import pandas as pd
data_input = pd.DataFrame({'year':list_year, 'close_price':list_close})
data_input = data_input.sort_values(by='year').reset_index(drop=True)
data_input.index = data_input.year
簡單地用折線圖化出,可以看出股價從2010年開始一直往上噴,直到2022開始疫情爆發,開始回檔。
data_input.close_price.plot()