在处理 csv 文件的时候遇到了需要去除重复行的问题,Pandas 中提供了相关方法来处理重复数据。
判断重复项
duplicated(subset=None, keep="first")
返回一个布尔向量(Series),其长度为行数,表示行是否重复。
subset:用于识别重复的列标签或列标签序列,默认识别所有的列标签
keep:标记重复项,取值可以为 first、last、False
first:(默认值)从前向后查找,除了第一次出现外,其余相同的被标记为重复
last:从后向前查找,除了最后一次出现外,其余相同的被标记为重复
False:标记所有重复项
删除重复项
drop_duplicates(subset=None, keep="first", inplace=False)
删除重复的行并返回去重后的 DataFrame 数据。
subset:用于识别重复的列标签或列标签序列,默认识别所有的列标签
keep:删除重复项,取值可以为 first、last、False
first:(默认值)从前向后查找,保留第一次出现外,删除其余重复项
last:从后向前查找,保留最后一次出现外,删除其余重复项
False:删除所有重复项
inplace:是否直接修改原数据
示例
只根据部分列的值来删除重复行:
若有列名:
subset=['列名1', '列名2']
若无列名:
subset=[1, 2]
或subset=list(range(0, 10))