dask_expr._collection.DataFrame.drop_duplicates
dask_expr._collection.DataFrame.drop_duplicates¶
- DataFrame.drop_duplicates(subset=None, split_every=None, split_out=True, shuffle_method=None, ignore_index=False, keep='first')[源代码]¶
返回删除重复行后的DataFrame。
此文档字符串是从 pandas.core.frame.DataFrame.drop_duplicates 复制而来的。
Dask 版本可能存在一些不一致性。
- 已知的不一致性:
keep=False 将引发一个
NotImplementedError
考虑某些列是可选的。索引,包括时间索引,将被忽略。
- 参数
- 子集列标签或标签序列,可选
仅考虑某些列来识别重复项,默认情况下使用所有列。
- keep : {‘first’, ‘last’,
False
}, 默认 ‘first’{‘first’, ‘last’,} 确定保留哪些重复项(如果有)。
‘first’ : 删除重复项,除了第一次出现。
‘last’ : 删除重复项,除了最后一次出现。
False
: 删除所有重复项。
- inplace : bool, 默认为
False
(在 Dask 中不支持)布尔值,默认 是否修改 DataFrame 而不是创建一个新的。
- ignore_index : bool, 默认
False
布尔值,默认 如果
True
,生成的轴将被标记为 0, 1, …, n - 1。
- 返回
- DataFrame 或 None
移除重复项后的DataFrame,如果
inplace=True
则为None。
参见
DataFrame.value_counts
计算列的唯一组合。
示例
考虑包含拉面评分的数据集。
>>> df = pd.DataFrame({ ... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'], ... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'], ... 'rating': [4, 4, 3.5, 15, 5] ... }) >>> df brand style rating 0 Yum Yum cup 4.0 1 Yum Yum cup 4.0 2 Indomie cup 3.5 3 Indomie pack 15.0 4 Indomie pack 5.0
默认情况下,它会基于所有列删除重复行。
>>> df.drop_duplicates() brand style rating 0 Yum Yum cup 4.0 2 Indomie cup 3.5 3 Indomie pack 15.0 4 Indomie pack 5.0
要删除特定列(或多列)上的重复项,请使用
subset
。>>> df.drop_duplicates(subset=['brand']) brand style rating 0 Yum Yum cup 4.0 2 Indomie cup 3.5
要删除重复项并保留最后出现的项,请使用
keep
。>>> df.drop_duplicates(subset=['brand', 'style'], keep='last') brand style rating 1 Yum Yum cup 4.0 2 Indomie cup 3.5 4 Indomie pack 5.0