我有以下功能来打印数据帧中存在的重复值。
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)]
答案 0 :(得分:0)
您传入的是一个字符串,其中包含引号和逗号。 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'])