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