Pandas 模块- *** 纵数据(7)-检测是否重复 .duplicated()

Pandas 模块- *** 纵数据(7)-检测是否重复 .duplicated(),第1张

Pandas 模块- *** 纵数据(7)-检测是否重复 .duplicated()

目录

7. 检测是否重复 .duplicated() 

7.1  .duplicated() 语法

7.1.1 语法结构

7.1.2 参数说明

7.2 .duplicated() 范例

7.2.1  subset 使用

7.2.2 keep 使用


7. 检测是否重复 .duplicated() 

        数据重复是一个特别普遍的现象,但不一定是用户所希望看到的。无论是从数据存储,还是数据利用角度,过多冗余重复的数据都会带来不必要的开支。首先,我们要能检测相关数据是否重复。

7.1  .duplicated() 语法 7.1.1 语法结构

Dataframe.duplicated(subset: 'Optional[Union[Hashable, Sequence[Hashable]]]' = None, keep: 'Union[str, bool]' = 'first')

7.1.2 参数说明
  • subset:列标识或者列的序列,可选。默认值是None,即使用所有的列进行检测,如果 subset 指定了部分列,则只考虑 subset 指定列是否重复。
  • keep:可选的集合  {'first', 'last', False},默认是 ‘first’。这个域决定了如何去标识重复行。

        'first':重复的行中,除了第一行,其余的都标识为 True

        'last':重复的行中,除了最后一行,其余的都标识为 True

        False:把所有重复的行中都标识为 True

返回值:数据结构为一个series,数据类型为布尔值

Help on method duplicated in module pandas.core.frame:

duplicated(subset: 'Optional[Union[Hashable, Sequence[Hashable]]]' = None, keep: 'Union[str, bool]' = 'first') -> 'Series' method of pandas.core.frame.Dataframe instance
    Return boolean Series denoting duplicate rows.
    
    Considering certain columns is optional.
    
    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'
        Determines which duplicates (if any) to mark.
    
        - ``first`` : Mark duplicates as ``True`` except for the first occurrence.
        - ``last`` : Mark duplicates as ``True`` except for the last occurrence.
        - False : Mark all duplicates as ``True``.
    
    Returns
    -------
    Series
        Boolean series for each duplicated rows.
7.2 .duplicated() 范例

这个函数相对来说比较简单

先准备数据

dict_data={"a":list("abcdaf"),"b":list("abfccc"),"c":list("ghijgl")}
df=pd.Dataframe.from_dict(dict_data)
df

7.2.1  subset 使用

默认情况,即对全部列进行检测,没有找到重复的行。 

 只对部分列进行检测,如 'b' 列,3、4、5 行重复,4、5 行被标识为 True

7.2.2 keep 使用

keep=‘last’,即重复行不列出最后一行,3、4、5 行重复,3、4 行被标识为 True

df.duplicated(subset=['b'],keep="last")#subset 只考虑"b",重复行不列出最后一行

 keep=False,即把所有重复的行中都标识为 True,3、4、5 行重复,3、4、5 行都被标识为 True

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5651932.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存