Python 我每次通过人脸识别登录我的注册帐户时都会遇到这个错误

Python 我每次通过人脸识别登录我的注册帐户时都会遇到这个错误,python,pandas,Python,Pandas,我每次通过人脸识别登录我的注册帐户时都会遇到这个错误。请建议我该怎么做 Exception in Tkinter callback Traceback (most recent call last): File "C:\Users\Claire\AppData\Roaming\Python\Python36\site-packages\pandas\core\indexes\base.py", line 2898, in get_loc return self.

我每次通过人脸识别登录我的注册帐户时都会遇到这个错误。请建议我该怎么做


Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\Claire\AppData\Roaming\Python\Python36\site-packages\pandas\core\indexes\base.py", line 2898, in get_loc
    return self._engine.get_loc(casted_key)
  File "pandas\_libs\index.pyx", line 70, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\index.pyx", line 101, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\hashtable_class_helper.pxi", line 1675, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas\_libs\hashtable_class_helper.pxi", line 1683, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'Id'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files\Python36\lib\tkinter\__init__.py", line 1702, in __call__
    return self.func(*args)
  File "C:\Users\Claire\Desktop\New folder (6)\login-verification-master\run.py", line 161, in login_submit
    TrackImages(a)
  File "C:\Users\Claire\Desktop\New folder (6)\login-verification-master\run.py", line 135, in TrackImages
    aa=df.loc[df['Id'] == Id]['Name'].values
  File "C:\Users\Claire\AppData\Roaming\Python\Python36\site-packages\pandas\core\frame.py", line 2906, in __getitem__
    indexer = self.columns.get_loc(key)
  File "C:\Users\Claire\AppData\Roaming\Python\Python36\site-packages\pandas\core\indexes\base.py", line 2900, in get_loc
    raise KeyError(key) from err
KeyError: 'Id'
def TrackImages(UserId):
recognizer=cv2.face.LBPHFaceRecognizer_create()35; cv2.createLBPHFaceRecognizer()
识别器.read(“TrainingImageLabel\trainer.yml”)
harcascadePath=“haarcascade\u frontalface\u default.xml”
faceCascade=cv2.cascade分类器(harcascadePath);
df=pd.read\u csv(“Details\Details.csv”)
cam=cv2.视频捕获(0)
font=cv2.font\u HERSHEY\u SIMPLEX
运行计数=0;运行=真
运行时:
ret,im=cam.read()
灰色=cv2.CVT颜色(im、cv2.COLOR\U BGR2GRAY)
面=面级联。检测多尺度(灰色,1.2,5)
对于面中的(x,y,w,h):
cv2.矩形(im,(x,y),(x+w,y+h),(225,0,0),2)
Id,conf=recognizer.predict(灰色[y:y+h,x:x+w])
打印(Id,conf)
如果(形态<50):
aa=df.loc[df['Id']==Id]['Name'].值
tt=str(Id)+“-”+aa
Di=aa.get(Id)
如果(str(Id)=UserId):
#打印(Id,conf)
message.configure(text=“面部重新编码成功”)
运行=错误
其他:
Id='未知'
tt=str(Id)
cv2.putText(im,str(tt),(x,y+h),字体,1,(255255),2)
运行计数+=1
cv2.imshow('im',im)
如果(cv2.waitKey(1)==ord('q')或运行计数==150):
message.configure(text=“无法识别人脸”)
打破
cam.release()
cv2.destroyAllWindows()
def login_submit():
a=txt.get()
b=txt2.get()
如果(数据中的a):
如果(数据[a]==b):
轨道图像(a)
其他:
message.configure(text=“Id和密码不匹配”)
其他:
message.configure(text=“输入的Id不存在”)
登录\u清除()

请提供代码。我发布了代码。请帮助我解决此错误。请编辑您的问题并在run.py中提供代码。正如您在上述问题中所看到的,我将继续收到此错误。
def TrackImages(UserId):
recognizer = cv2.face.LBPHFaceRecognizer_create()#cv2.createLBPHFaceRecognizer()
recognizer.read("TrainingImageLabel\Trainner.yml")
harcascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2.CascadeClassifier(harcascadePath);
df=pd.read_csv("Details\Details.csv")
cam = cv2.VideoCapture(0)
font = cv2.FONT_HERSHEY_SIMPLEX          
run_count=0;run=True
while run:
    ret, im =cam.read()
    gray=cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
    faces=faceCascade.detectMultiScale(gray, 1.2,5)    
    for(x,y,w,h) in faces:
        cv2.rectangle(im,(x,y),(x+w,y+h),(225,0,0),2)
        Id, conf = recognizer.predict(gray[y:y+h,x:x+w])
        print(Id, conf)
        if(conf < 50):
            aa=df.loc[df['Id'] == Id]['Name'].values
            tt=str(Id)+"-"+aa
            Di=aa.get(Id)
            if (str(Id)==UserId):
                #print(Id, conf)
                message.configure(text="Face Recognsed Successfully")
                run=False
        else:
            Id='Unknown'                
            tt=str(Id)            
        cv2.putText(im,str(tt),(x,y+h), font, 1,(255,255,255),2)        
    run_count += 1    
    cv2.imshow('im',im) 
    if (cv2.waitKey(1)==ord('q') or run_count==150):
        message.configure(text="Unable to Recognise Face")
        break
cam.release()
cv2.destroyAllWindows() 
def login_submit():
a=txt.get()
b=txt2.get()
if (a in data):
    if(data[a] == b):
        TrackImages(a)
    else:
        message.configure(text="Id and Password does not Match")
else:
    message.configure(text="Entered Id does not Exists")

login_clear()