logo
Loading...

在執行程式Part1_data_collector.ipynb時發生問題 - Cupoy

昨日執行資料蒐集程式時間過晚,超過了午夜12點,出現下方錯誤訊息。原本以為是要在課程建議的晚上6點後...

在執行程式Part1_data_collector.ipynb時發生問題

2021/02/24 下午 10:59
《用 Python 打造你的 AI 股票交易引擎》業界專家實戰教學
larry wong
觀看數:28
回答數:3
收藏數:0

昨日執行資料蒐集程式時間過晚,超過了午夜12點,出現下方錯誤訊息。原本以為是要在課程建議的晚上6點後執行就不會有問題,但今日依然發生一樣錯誤。而且使用舊的曾經成功執行備份也出現一樣錯誤,這是代表資料來源有缺失嗎?應該如何處理? 更新季報表... 100%|████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:41<00:00, 20.73s/it] --------------------------------------------------------------------------- KeyError Traceback (most recent call last) C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance) 2894 try: -> 2895 return self._engine.get_loc(casted_key) 2896 except KeyError as err: pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc() pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc() pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item() pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item() KeyError: '總資產週轉率' The above exception was the direct cause of the following exception: KeyError Traceback (most recent call last) in 1 # 執行相關指令 [除了存檔名稱外, 請勿修改] 2 stock_list = cs.set_combine(SELECT_CODE, TRAIN_NUM) ----> 3 df = cs.import_dataset(stock_list, RESET_MODE, MAX_CHAR_LENGTH) 4 cs.save_char(df, char_generator, RESET_MODE, MAX_CHAR_LENGTH, 5 file_1d='1d_char.csv', file_2d='2d_char.csv') ~\股票機\20210130_20股票 - 複製20210204backup - 複製\cstock.py in import_dataset(stock_list, reset_mode, char_length) 733 monthly_repeater() 734 print('更新季報表...') --> 735 quarterly_repeater() 736 print('更新每日成交資訊...') 737 daily_repeater() ~\股票機\20210130_20股票 - 複製20210204backup - 複製\cstock.py in quarterly_repeater() 434 break_day = f'{break_day[:-2]}10-01' 435 break_day = datetime.strptime(break_day, '%Y-%m-%d') --> 436 rep_df = quarterly_period_record(break_day, today) 437 df = pd.concat([df, rep_df], axis=0, ignore_index=True) 438 df = df.sort_values(by=['季度', '代號']).drop_duplicates(subset=['季度','代號'], keep='last').reset_index(drop=True) ~\股票機\20210130_20股票 - 複製20210204backup - 複製\cstock.py in quarterly_period_record(start_date, end_date) 414 for col in ['總資產週轉率', '利息保障倍數', '平均銷貨日數', '存貨週轉率', '現金再投資比', '現金流量比', '平均收現日數', 415 '應收款項週轉率', '長期資金佔固定資產比', '固定資產週轉率', '純益率']: --> 416 df[col] = df[col].map(lambda x:np.nan if f'{x}'.find('*')>-1 else x) 417 return df 418 C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\frame.py in __getitem__(self, key) 2900 if self.columns.nlevels > 1: 2901 return self._getitem_multilevel(key) -> 2902 indexer = self.columns.get_loc(key) 2903 if is_integer(indexer): 2904 indexer = [indexer] C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance) 2895 return self._engine.get_loc(casted_key) 2896 except KeyError as err: -> 2897 raise KeyError(key) from err 2898 2899 if tolerance is not None: KeyError: '總資產週轉率'

回答列表

  • 2021/02/24 下午 11:06
    larry wong
    贊同數:0
    不贊同數:0
    留言數:0

    ![image](http://kwassistfile.cupoy.com/00000177D4904BF40000052D6375706F795F72656C65617365414E53/1611820870461/large) 上面文字這一塊被橫線劃掉了

  • 2021/02/25 上午 11:55
    CUPOY
    贊同數:0
    不贊同數:0
    留言數:0

    同學 您好,


    感謝您的提問,已經與專家聯繫,會盡快回覆相關問題。

  • 2021/02/27 上午 02:01
    張維元 (WeiYuan)
    贊同數:1
    不贊同數:0
    留言數:0

    嗨,你好
    「KeyError: '總資產週轉率'」,代表沒有存到總資產週轉率的資料,你可能要去看一下原始的資料來源是否正常,或是程式是否有抓到。

    嗨,你好,我是維元,持續在不同的平台發表對 #資料科學、 #網頁開發 或 #軟體職涯 相關的文章。如果對於內文有疑問都歡迎與我們進一步的交流,都可以追蹤我的 Facebook技術部落格 ,也會不定時的舉辦分享活動,一起來玩玩吧 ヽ(●´∀`●)ノ 以下分享一些我近期發表跟資料科學有關的文章,歡迎大家持續追蹤: ■ 資料分析工具那麼多,該怎麼選? 🛠️
    真.資料團隊與分工
    觀察資料的 N 件事 🔖
    資料前處理必須要做的事 - 資料清理與型態調整