我有一个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。(三次)
答案 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']