Python KeyError:在用户定义的函数中

Python KeyError:在用户定义的函数中,python,pandas,dataframe,Python,Pandas,Dataframe,我有下面的函数来打印数据框中存在的重复值 def duplicateCrosscheck(dataDF, columnList): print('Duplicate checking', columnList) dataDup = dataDF[dataDF.duplicated([columnList], keep=False)] print(dataDup.values) return 我将传递数据帧名称和列列表以检查重复项 duplicateCro

我有下面的函数来打印数据框中存在的重复值

def duplicateCrosscheck(dataDF, columnList):
     print('Duplicate checking', columnList)
     dataDup = dataDF[dataDF.duplicated([columnList], keep=False)]
     print(dataDup.values)
     return
我将传递数据帧名称和列列表以检查重复项

duplicateCrosscheck(dataT, "'Country', 'Indicator', 'variable'")
但下面是一个错误: KeyError:'国家','指标','变量'

如果我执行下面的脚本,它工作得很好

dataT[dataT.duplicated(['Country', 'Indicator', 'variable'], keep=False)]
您正在传入一个字符串,其中包含引号和逗号。Python不会将其解释为3个单独的字符串,不。这些引号和逗号没有任何特殊意义,它们只是字符串中的更多数据

更改函数以直接传递columnList:

def duplicateCrosscheck(dataDF, columnList):
     print('Duplicate checking', columnList)
     dataDup = dataDF[dataDF.duplicated(columnList, keep=False)]
     print(dataDup.values)
     return
并传入一个实际列表:

duplicateCrosscheck(dataT, ['Country', 'Indicator', 'variable'])