drop_duplicate函数多列使用详解

drop_duplicate(subset = 【'a','b'】)
这样表示就是代表如果a,b两列中某行的元素相同,才去重吗?

求这个函数使用的详解,搜了半天找不到很清晰的

drop_duplicates参数就四个,subset,keep,inplace,ignore_index

  • subset:列的标签,或者传入一个标签列表,subset=['a','b']这种,只有指定列都重复的时候才会删除。
  • keep:选择需要保留的重复值,有三个选项, - first:保留第一次出现的行 - last:保留最后一次出现的行 - False:全删掉
    • inplace:传入布尔值,执行删除后,是否把结果赋值给原变量。比如df.drop_duplicates()之后,你可以选择将结果赋值给新的变量data=df.drop_duplicates(),也可以通过inplace参数,df.drop_duplicates(inplace=True),自动将结果赋值给df。
    • ignore_index:传入布尔值,默认是False,就是是否重置索引,从0开始往下排。

这里表示如果有两行的a和b都相同,才会去重
Help on method drop_duplicates in module pandas.core.frame:

drop_duplicates(subset=None, keep='first', inplace=False) method of pandas.core.frame.DataFrame instance
Return DataFrame with duplicate rows removed, optionally only
considering certain columns.
返回去除重复行的DataFrame实例,可选择只考虑给定的列
Parameters
----------
subset : column label or sequence of labels, optional
Only consider certain columns for identifying duplicates, by
default use all of the columns
列标签或是列标签的序列,可选择给定的一列或多列作为去重标准(也就是多列全部相同才去重),默认使用所有列(也就是两行所有数据相同才去重)
keep : {'first', 'last', False}, default 'first'
- first : Drop duplicates except for the first occurrence.
- last : Drop duplicates except for the last occurrence.
- False : Drop all duplicates.
inplace : boolean, default False
Whether to drop duplicates in place or to return a copy

Returns
-------
deduplicated : DataFrame