Python raise KeyError(探地雷达)

Python raise KeyError(探地雷达),python,pandas,keyerror,Python,Pandas,Keyerror,对不起,有什么困惑!!这是一个经过编辑的版本——我试图使它的可复制性最低 # embed subject recall in vector space def run_sts_benchmark(batch): sts_encode1 = tf.nn.l2_normalize(embed(tf.constant(batch['sent_1'].tolist())), axis=1) sts_encode2 = tf.nn.l2_normalize(embed(tf.constan

对不起,有什么困惑!!这是一个经过编辑的版本——我试图使它的可复制性最低

# embed subject recall in vector space
def run_sts_benchmark(batch):
    sts_encode1 = tf.nn.l2_normalize(embed(tf.constant(batch['sent_1'].tolist())), axis=1)
    sts_encode2 = tf.nn.l2_normalize(embed(tf.constant(batch['sent_2'].tolist())), axis=1)
    cosine_similarities = tf.reduce_sum(tf.multiply(sts_encode1, sts_encode2), axis=1)
    clip_cosine_similarities = tf.clip_by_value(cosine_similarities, -1.0, 1.0)
    scores = 1.0 - tf.acos(clip_cosine_similarities) / math.pi
    return scores
sub = "5ae5e66d3ab2fb0001ef2f3c"
item = "Armor"
df = pd.DataFrame()
# open file that is in a folder called "Armor" && named after subject ID
with open("....directory..../Armor/5ae5e66d3ab2fb0001ef2f3c.csv") as f2:
    next(f2)
    resp = csv.reader(f2)
    resp_list = []
    for row in resp:
        sent_1 = []
        sent = row[0]
        sent_1.append(sent)
        resp_list.append(sent)
        # open answer sheet
        with open("....directory..../answer_sheets/Armor.csv") as f:
            score_key = csv.reader(f)
            for row in score_key:
                sent_2 = row
                # make file col1:subject response, col2: correct answer
                data = pd.DataFrame({"sent_1":sent_1, "sent_2":sent_2})
                # score semantic similarity between response && answer
                score = run_sts_benchmark(data).numpy()
                # binarize semantic similarities
                if score >= threshold:
                    acc = 1
                else:
                    acc = 0
                data['score'] = score
                data['step_acc'] = acc
                df = df.append(data)
# each clause of a subject recall is compared to every clause of an answer sheet and has a similarity score
df_acc = df.groupby('sent_1').sum()
错误--

回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/opt/anaconda3/lib/python3.8/site packages/pandas/core/frame.py”,第6511行,在groupby中
返回DataFrameGroupBy(
文件“/opt/anaconda3/lib/python3.8/site packages/pandas/core/groupby/groupby.py”,第525行,在__
石斑鱼,排除,obj=get_石斑鱼(
文件“/opt/anaconda3/lib/python3.8/site packages/pandas/core/groupby/grouper.py”,第781行,在get_grouper中
raise KeyError(探地雷达)
KeyError:“已发送\u 1”

在尝试运行最后一行时发生。我尝试在函数外部运行此函数,对主题的一行回忆进行评分,但未发生错误。在重复多次回忆时,是否有方法避免此错误?

我们现在知道您正在尝试做什么。您的问题是什么?您是否尝试使用调试器?我尝试了runni我的问题是如何运行上述代码并避免此错误?这是一个有6个参数的方法,我们不知道如何调用它。请尝试将其设置为a,以便我们可以复制它。这里有很多内容,我们没有太多信息。至少,您可以尝试向其添加注释吗帮助人们理解您试图在每一行代码中实现的目标?
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/anaconda3/lib/python3.8/site-packages/pandas/core/frame.py", line 6511, in groupby
    return DataFrameGroupBy(
  File "/opt/anaconda3/lib/python3.8/site-packages/pandas/core/groupby/groupby.py", line 525, in __init__
    grouper, exclusions, obj = get_grouper(
  File "/opt/anaconda3/lib/python3.8/site-packages/pandas/core/groupby/grouper.py", line 781, in get_grouper
    raise KeyError(gpr)
KeyError: 'sent_1'