栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/649742.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号