pandas.DataFrame.drop_duplicates#
- DataFrame.drop_duplicates(subset=None, keep='first', inplace=False, ignore_index=False)[源代码]#
返回删除了重复行的DataFrame。
考虑某些列是可选的。包括时间索引在内的索引被忽略。
- 参数
- subset列标签或标签序列,可选
只考虑某些列来标识重复项,默认情况下使用所有列。
- keep{‘First’,‘Last’,False},默认为‘First’
确定要保留的副本(如果有)。-
first
:删除除第一个匹配项以外的重复项。-last
:删除除最后一个匹配项以外的重复项。-FALSE:删除所有重复项。- inplace布尔值,默认为False
是就地删除副本还是返回副本。
- ignore_index布尔值,默认为False
如果为True,则生成的轴将标记为0,1,…,n-1。
1.0.0 新版功能.
- 退货
- DataFrame或无
删除重复项的DataFrame,如果
inplace=True
。
参见
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