![](/img/trans.png)
[英]KeyError: 'PYTHONPATH', how can I fix PYTHONPATH? (Python 3.5.2)
[英]How can I fix this KeyError: (1, 0) in Python?
我的代码如下:
stats = ['ETT', 'EMT', 'MRR', 'MMR', 'EER', 'ATT', 'MMT' ,'EMM' ,'ERT' ,'AER' ,'AEE' ,'AMM' ,'EEM' ,'ART' ,'AAR' ,'AEM' ,'MRT','AAT','AMR','ARR','AMT','RTT','EMR','ERR','EET','RRT','AET','MTT','AAE','AAM','EEE','TTT',
'AAA','MMM','RRR']
def determine_rewards(number_of_look_up_table,current_row_index,action_index):
if stats[number_of_look_up_table][current_row_index] == 'T' :
reward = rewards[0,action_index]
elif stats[number_of_look_up_table][current_row_index] == 'M' :
reward = rewards[1,action_index]
elif stats[number_of_look_up_table][current_row_index] == 'E' :
reward = rewards[2,action_index]
elif stats[number_of_look_up_table][current_row_index] == 'R' :
reward = rewards[3,action_index]
elif stats[number_of_look_up_table][current_row_index] == 'A' :
reward = rewards[4,action_index]
return reward
reward = determine_rewards(2,0,0)
'rewards' 是一个 5 行 20 列的矩阵,里面有数字。'determine_rewards' function 使用奖励和统计矩阵中的输入和值分配一个值。 当我调用 function 'determine_rewards' 时,它给了我以下错误。 请帮我解决这个错误
reward = determine_rewards(2,0,0)
KeyError Traceback (most recent call last)
~\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method,
tolerance)
2656 try:
-> 2657 return self._engine.get_loc(key)
2658 except KeyError:
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: (1, 0)
During handling of the above exception, another exception occurred:
KeyError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_28528/3264022016.py in <module>
----> 1 reward = determine_rewards(2,0,0)
~\AppData\Local\Temp/ipykernel_28528/255015173.py in
determine_rewards(number_of_look_up_table, current_row_index, action_index)
20 reward = rewards[0,action_index]
21 elif stats[number_of_look_up_table][current_row_index] == 'M' :
---> 22 reward = rewards[1,action_index]
23 elif stats[number_of_look_up_table][current_row_index] == 'E' :
24 reward = rewards[2,action_index]
~\Anaconda3\lib\site-packages\pandas\core\frame.py in __getitem__(self, key)
2925 if self.columns.nlevels > 1:
2926 return self._getitem_multilevel(key)
-> 2927 indexer = self.columns.get_loc(key)
2928 if is_integer(indexer):
2929 indexer = [indexer]
~\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method,
tolerance)
2657 return self._engine.get_loc(key)
2658 except KeyError:
-> 2659 return self._engine.get_loc(self._maybe_cast_indexer(key))
2660 indexer = self.get_indexer([key], method=method, tolerance=tolerance)
2661 if indexer.ndim > 1 or indexer.size > 1:
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: (1, 0)
检查缩进
另外我相信也许你搞砸了你的方括号?:
rewards[0,action_index] -> rewards[0][action_index]
对所有情况做同样的事情
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.