在数据框中显示重复值->键错误

时间:2019-06-04 07:47:08

标签: python pandas

我有一个csv文件,其中包含具有多个值的列(某些值在工作表中可能出现多次)。以下代码返回错误。解决办法是什么 ?请记住,每次出现重复值时,我都必须显示它们。

df = pd.DataFrame({'ID': ["123", "678", "123", "454", "123"]})
df["ID"] = [f for f in df["ID"] if df["ID"].count(f) > 1]
KeyError: 'Level (output omitted)  must be same as name (None)'

输出应为:123、123、123。(三次)

2 个答案:

答案 0 :(得分:0)

代替使用:

duplicates = df[df.duplicated()]

输出:

    ID
2  123
4  123

答案 1 :(得分:0)

您可以使用duplicated函数来识别重复的值,并结合列表理解以确保获得所有值(因为重复的仅返回重复的值,而不返回原始的值:

df = pd.DataFrame({'ID': ["123", "678", "123", "454", "123"]})
duplicates = [x for x in df['ID']  if x in df[df.duplicated()].values]

['123', '123', '123']