我正在尝试从数据集中删除重复项。
在使用df.drop_duplicates()
之前,我运行df[df.duplicated()]
来检查哪些值被视为重复值。返回我不认为是重复的值,请参见下面的示例。所有列均已选中。
如何获取准确的重复结果并删除真实重复项?
city price year manufacturer cylinders fuel odometer
whistler 26880 2016.0 chrysler NaN gas 49000.0
whistler 17990 2010.0 toyota NaN hybrid 117000.0
whistler 15890 2010.0 audi NaN gas 188000.0
whistler 8800 2007.0 nissan NaN gas 163000.0
答案 0 :(得分:0)
遇到同样的问题。
乍一看是这样的
df.duplicated(subset='my_column_of_interest')
返回在 my_column_of_interest 字段中实际具有唯一值的结果。
但事实并非如此。 documentation 显示 duplicated 使用 keep 参数选择保留所有重复项,仅保留第一个或最后一个。它的默认值是first。
这意味着如果您有一个值在此列中出现两次,则运行 df.duplicated(subset='my_column_of_interest') 将返回只包含该值一次的结果(因为只保留它的第一次出现)。