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
时间: 2023-02-08 18:48:09 浏览: 161
这是一个 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 是否是它的正确索引。
相关问题
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 中不能将字符串和列表进行拼接。
你可以尝试检查你的代码,找出哪里出现了将字符串和列表拼接的情况,然后尝试修改代码以避免这种情况的发生。
注意:这个错误信息只是给出了错误发生的位置和类型,你还需要通过自己的调试能力来找出错误的原因并进行修正。
multiprocessing.pool.RemoteTraceback: """ Traceback (most recent call last): File "/home/zyh2/anaconda3/envs/ztorch/lib/python3.7/multiprocessing/pool.py", line 121, in worker result = (True, func(*args, **kwds)) File "/home/zyh2/anaconda3/envs/ztorch/lib/python3.7/multiprocessing/pool.py", line 44, in mapstar return list(map(*args)) File "encode_seq.pyx", line 73, in GCNFrame.encode_seq.matrix_encoding File "encode_seq.pyx", line 64, in GCNFrame.encode_seq._matrix_encoding File "encode_seq.pyx", line 30, in GCNFrame.encode_seq._loc_transfer_matrix TypeError: 'float' object cannot be interpreted as an integer """ The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/zyh2/vit-pytorch-main/vit_pytorch/gene2classTest.py", line 9, in <module> dataset = data.encode(thread=20) File "/home/zyh2/vit-pytorch-main/GCNFrame/Biodata.py", line 134, in encode feature = np.array(pool.map(partial_encode_seq, seq_list)) File "/home/zyh2/anaconda3/envs/ztorch/lib/python3.7/multiprocessing/pool.py", line 268, in map return self._map_async(func, iterable, mapstar, chunksize).get() File "/home/zyh2/anaconda3/envs/ztorch/lib/python3.7/multiprocessing/pool.py", line 657, in get raise self._value TypeError: 'float' object cannot be interpreted as an integer
这是一个 Python 的异常信息,看起来是在使用 multiprocessing.pool 进行并行编码时出现了错误。具体的错误信息是 "float" 对象无法解释为整数。这可能是由于在 GCNFrame.encode_seq._loc_transfer_matrix 函数中,类型错误导致的。建议检查代码中的数据类型,确保传递给函数的参数是正确的数据类型。
阅读全文