close

看到今天你可能心裡滴咕著,
啊!~昨天不是說要讓我們看到數據視覺化的結果,
當然,
依照學習的進度來看確實昨天就該看到數據視覺化的股價統計表,
但,我顧慮到,如果昨天就讓你看到統計表,
今天再來說明細節,你會有耐心看完細節嗎?
答案呼之欲出,可以知道是「很難」。

由於Python不像C#、Java於for迴圈或if判斷時使用大括弧框定範圍,
因此,初學者常常會分不清程式碼的層數。
以下就是一個例子:

for date in dates:
    sleep(5)

    spyderData = m.spyderData(date, stock_symbol)
    all.append(spyderData[0])
    df_columns = spyderData[1]

    
    all_df = pd.DataFrame(all, columns = df_columns)
    print(all_df)
['20220926', '20220927', '20220928', '20220929', '20220930', '20221001', '20221003']
         日期  證券代號 證券名稱       成交股數   成交筆數  ...  最後揭示買價 最後揭示買量  最後揭示賣價 最後揭示賣量    本益比
0  20220926  9914  美利達  1,627,208  1,432  ...  179.50     17  180.00      3  11.25

[1 rows x 17 columns]
         日期  證券代號 證券名稱       成交股數   成交筆數  ...  最後揭示買價 最後揭示買量  最後揭示賣價 最後揭示賣量    本益比
0  20220926  9914  美利達  1,627,208  1,432  ...  179.50     17  180.00      3  11.25
1  20220927  9914  美利達    646,254    600  ...  184.00      5  184.50      1  11.57

[2 rows x 17 columns]
         日期  證券代號 證券名稱       成交股數   成交筆數  ...  最後揭示買價 最後揭示買量  最後揭示賣價 最後揭示賣量    本益比
0  20220926  9914  美利達  1,627,208  1,432  ...  179.50     17  180.00      3  11.25
1  20220927  9914  美利達    646,254    600  ...  184.00      5  184.50      1  11.57
2  20220928  9914  美利達    666,197    756  ...  180.50      1  181.50      4  11.38

[3 rows x 17 columns]
         日期  證券代號 證券名稱       成交股數   成交筆數  ...  最後揭示買價 最後揭示買量  最後揭示賣價 最後揭示賣量    本益比
0  20220926  9914  美利達  1,627,208  1,432  ...  179.50     17  180.00      3  11.25
1  20220927  9914  美利達    646,254    600  ...  184.00      5  184.50      1  11.57
2  20220928  9914  美利達    666,197    756  ...  180.50      1  181.50      4  11.38
3  20220929  9914  美利達    770,727    652  ...  183.50      9  184.00      4  11.50

[4 rows x 17 columns]
         日期  證券代號 證券名稱       成交股數   成交筆數  ...  最後揭示買價 最後揭示買量  最後揭示賣價 最後揭示賣量    本益比
0  20220926  9914  美利達  1,627,208  1,432  ...  179.50     17  180.00      3  11.25
1  20220927  9914  美利達    646,254    600  ...  184.00      5  184.50      1  11.57
2  20220928  9914  美利達    666,197    756  ...  180.50      1  181.50      4  11.38
3  20220929  9914  美利達    770,727    652  ...  183.50      9  184.00      4  11.50
4  20220930  9914  美利達    957,208    969  ...  179.50      1  180.50     16  11.32

雖然跑迴圈,但是呈現的方式卻是每跑一次顯示一次,
所以會結果不如預期。
Python非常重視各層之間的位置,
因此程式縮排後要非常注意各層之間的對齊。
另外提醒,若遇到程式結果不如預期,
建議將相關參數以print列印出來,
不過,spyder也有好東西可以檢視變數或參數,
那就是【Variable Explorer】,可以讓bug無所遁形。
https://ithelp.ithome.com.tw/upload/images/20221004/20141198RHQljjRu28.png

今天主要強調程式常犯的錯誤,
主要目的希望各位能避開常見的錯誤,
明天我們接著看下去。

arrow
arrow
    全站熱搜

    生活實踐家Adam 發表在 痞客邦 留言(5) 人氣()