iT邦幫忙

2022 iThome 鐵人賽

DAY 4
1

台積電於民國83年9月5日(1994/9/5)在台灣證券交易所掛牌上市,分析一下截至今日股價表現,
繼續上一篇[股價預測篇-爬蟲part2(金融類)]的dataframe繼續...

問題1 : 收盤價裡面應該是有字串跟浮點數

問題2 : 年度裡面看起有字串跟整數

https://ithelp.ithome.com.tw/upload/images/20220919/20152199dYOeNNw4sn.png
從下圖看出Dataframe結構是多個index,因此,要按index取出我們的值

df.columns

https://ithelp.ithome.com.tw/upload/images/20220919/20152199SzgsoTnN2o.png
到這邊我先寫了兩個小函式,排除掉多餘字串,留下乾淨的收盤價(浮點數)跟年度(整數)

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]

https://ithelp.ithome.com.tw/upload/images/20220919/20152199S8hNTap0rB.png
整成有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

https://ithelp.ithome.com.tw/upload/images/20220919/20152199lRPZcEaylk.png
簡單地用折線圖化出,可以看出股價從2010年開始一直往上噴,直到2022開始疫情爆發,開始回檔。

data_input.close_price.plot()

https://ithelp.ithome.com.tw/upload/images/20220919/2015219943bupYbviY.png


上一篇
股價預測篇-爬蟲part3(金融類)
下一篇
股價預測篇-分析part2(金融類)
系列文
從無到有,爬蟲-分析-預測建模,把實務面常見問題逐一釐清18
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言