目录
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,数据类型为布尔值
7.2 .duplicated() 范例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.
这个函数相对来说比较简单
先准备数据
dict_data={"a":list("abcdaf"),"b":list("abfccc"),"c":list("ghijgl")} df=pd.Dataframe.from_dict(dict_data) df7.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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)