python raise KeyError(key) from err报错

在python执行时出现如下报错,求问这种报错是指什么原因呢?

img

Traceback (most recent call last):
  File "C:/Users/qinjianing/PycharmProjects/pythonProject1/match.py", line 39, in <module>
    m.match(caliper = None, replace = False)
  File "C:\Users\qinjianing\PycharmProjects\pythonProject1\venv\lib\site-packages\psmatching\match.py", line 99, in match
    dist = abs(g1[m]-g2)
  File "C:\Users\qinjianing\PycharmProjects\pythonProject1\venv\lib\site-packages\pandas\core\series.py", line 942, in __getitem__
    return self._get_value(key)
  File "C:\Users\qinjianing\PycharmProjects\pythonProject1\venv\lib\site-packages\pandas\core\series.py", line 1051, in _get_value
    loc = self.index.get_loc(label)
  File "C:\Users\qinjianing\PycharmProjects\pythonProject1\venv\lib\site-packages\pandas\core\indexes\base.py", line 3363, in get_loc
    raise KeyError(key) from err
KeyError: 17795

原始脚本如下:


```python
import psmatching.match as psm
import pytest
import pandas as pd


path = "simMATCH2.csv"
model = "CASE ~ AGE + SCORE"
k = "2"

m = psm.PSMatch(path, model, k)

# Calculate propensity scores and prepare data for matching
m.prepare_data()

# Perform matching
m.match(caliper = None, replace = False)

# Evaluate matches via chi-square test
m.evaluate()


# 一些数据
a = m.df # 打上PROPENSITY 潜力分
m.df['CASE'].value_counts()

b = m.matched_data   # 匹配之后的数据对
m.matched_data['CASE'].value_counts()

这个提示, 看起来像是要找某个键值,可能是数据列名
如果代码来源是没问题的话, 看看csv数据和示范数据是否一致。
另外,要确保你当前python的相关库和代码要的库版本一致。

相同问题,原因是因为csv数据某个键值与目标数据名称不匹配,修改即可

你好,解决了嘛?我也有这个问题

我也遇到了这个问题,请问大家有谁顺利解决了吗?

应该是你虚拟环境的pandas版本问题