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 09:09:23 浏览: 572
这个 traceback 告诉我们,你的 Python 代码在执行的过程中发生了 IndexError 异常。更具体地,在执行 "df[u6536u76d8u4ef7_u590du6743] = df[u590du6743u56e0u5b50] * (df.iloc[0][u6536u76d8u4ef7] / df.iloc[0][u590du6743u56e0u5b50])" 这一行代码时,发生了 "single positional indexer is out-of-bounds" 这个错误。这个错误的意思是你尝试访问的 DataFrame 中的某一行或某一列的索引超出了范围。可能是因为你尝试访问的行或列不存在,或者你使用了一个无效的行/列索引。你需要检查你的代码,确保使用了正确的行/列索引,并且确保 DataFrame 中存在该行或列。
相关问题
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 是否是它的正确索引。
阅读全文