Traceback (most recent call last): File "C:\Python38\lib\multiprocessing\pool.py", line 125, in worker result = (True, func(*args, **kwds)) File "C:\Python38\lib\multiprocessing\pool.py", line 48, in mapstar return list(map(*args)) File "D:\hw_stock_2022\ETF实盘选股策略(2)\1ETF数据整理.py", line 47, in cal_all_etf_data df['收盘价_复权'] = df['复权因子'] * (df.iloc[0]['收盘价'] / df.iloc[0]['复权因子']) File "C:\Python38\lib\site-packages\pandas\core\indexing.py", line 1073, in __getitem__ return self._getitem_axis(maybe_callable, axis=axis) File "C:\Python38\lib\site-packages\pandas\core\indexing.py", line 1625, in _getitem_axis self._validate_integer(key, axis) File "C:\Python38\lib\site-packages\pandas\core\indexing.py", line 1557, in _validate_integer raise IndexError("single positional indexer is out-of-bounds") IndexError: single positional indexer is out-of-bounds
时间: 2023-02-07 08:09:21 浏览: 167
这是一个 Python 程序的 traceback,它提示在执行这个程序的过程中发生了一个 IndexError。这个错误的原因是:在程序的第 47 行,df 的一个索引超出了其边界。
这个 traceback 还告诉我们,发生这个错误是在执行 cal_all_etf_data 函数时,这个函数被调用了 map() 函数,而 map() 函数在执行 worker 函数时又发生了错误。
为了解决这个问题,可以考虑检查程序的第 47 行,确定导致索引越界的原因,并进行修改。
相关问题
multiprocessing.pool.RemoteTraceback: """ Traceback (most recent call last): File "C:\Python38\lib\multiprocessing\pool.py", line 125, in worker result = (True, func(*args, **kwds)) File "C:\Python38\lib\multiprocessing\pool.py", line 48, in mapstar return list(map(*args)) File "D:\hw_stock_2022\program\ETF实盘选股策略\1_ETF数据整理.py", line 51, in cal_all_etf_data df = pd.read_csv(etf_list + '//' + etf + '.csv', encoding='gbk', skiprows=1, parse_dates=['交易日期']) TypeError: can only concatenate list (not "str") to list
这个错误信息表示你在使用 `pd.read_csv()` 函数时遇到了一个 TypeError,该错误的具体原因是:在行 51 你尝试将一个字符串和一个列表进行拼接,但是 Python 中不能将字符串和列表进行拼接。
你可以尝试检查你的代码,找出哪里出现了将字符串和列表拼接的情况,然后尝试修改代码以避免这种情况的发生。
注意:这个错误信息只是给出了错误发生的位置和类型,你还需要通过自己的调试能力来找出错误的原因并进行修正。
Traceback (most recent call last): File "C:\Python38\lib\multiprocessing\pool.py", line 125, in worker result = (True, func(*args, **kwds)) File "C:\Python38\lib\multiprocessing\pool.py", line 48, in mapstar return list(map(*args)) File "D:\hw_stock_2022\ETF实盘选股策略(2)\1ETF数据整理.py", line 82, in cal_all_etf_data last_trading_day_close_above_ma20 = etf[etf['last_trading_day_close'] > etf['ma20']] TypeError: string indices must be integers
这是一个 Python 程序的错误信息。Traceback 是 Python 中的异常追踪机制,当程序出现错误时会生成一个 Traceback 信息,表示程序从哪里开始错误。
具体的错误信息是:
TypeError: string indices must be integers,
意思是程序中etf[last_trading_day_close] or etf[ma20] 中的last_trading_day_close or ma20 不是整数索引,而是字符串索引。
解决这个错误可能需要看看程序中 etf 变量是什么,last_trading_day_close 和 ma20 是否是它的正确索引。
阅读全文