Pandas drop_duplicates函数的使用方法

Pandas drop_duplicates函数的使用方法

参考:pandas drop_duplicates

pandas 是一个强大的数据处理库,它提供了许多用于数据清洗和分析的功能。其中,drop_duplicates 是一个非常实用的函数,它可以帮助我们去除数据集中的重复项。在本文中,我们将详细介绍 drop_duplicates 函数的使用方法,并通过一些示例代码来展示其功能。

1. drop_duplicates 函数的基本使用

drop_duplicates 函数的基本语法如下:

DataFrame.drop_duplicates(subset=None, keep='first', inplace=False)
  • subset 参数用于指定需要考虑的列,默认为 None,表示考虑所有列。
  • keep 参数用于指定在去除重复项时保留哪一项。默认为 ‘first’,表示保留第一次出现的项。如果设置为 ‘last’,则保留最后一次出现的项。如果设置为 False,则所有重复项都会被去除。
  • inplace 参数用于指定是否在原数据集上进行操作。默认为 False,表示返回一个新的数据集。如果设置为 True,则在原数据集上进行操作,并返回 None。

下面是一个简单的示例:

import pandas as pd

data = {
    'name': ['Alice', 'Bob', 'Charlie', 'Alice', 'Bob'],
    'age': [25, 30, 35, 25, 30],
    'city': ['New York', 'Los Angeles', 'Chicago', 'New York', 'Los Angeles']
}

df = pd.DataFrame(data)

df.drop_duplicates()
print(df)

Output:

Pandas drop_duplicates函数的使用方法

在这个示例中,我们首先创建了一个包含重复项的数据集,然后使用 drop_duplicates 函数去除了重复项。

2. 使用 subset 参数

subset 参数可以用于指定需要考虑的列。例如,如果我们只想根据 ‘name’ 列去除重复项,可以这样做:

import pandas as pd

data = {
    'name': ['Alice', 'Bob', 'Charlie', 'Alice', 'Bob'],
    'age': [25, 30, 35, 25, 30],
    'city': ['New York', 'Los Angeles', 'Chicago', 'New York', 'Los Angeles']
}

df = pd.DataFrame(data)

df.drop_duplicates(subset='name')
print(df)

Output:

Pandas drop_duplicates函数的使用方法

我们也可以指定多个列。例如,如果我们想根据 ‘name’ 和 ‘age’ 列去除重复项,可以这样做:

import pandas as pd

data = {
    'name': ['Alice', 'Bob', 'Charlie', 'Alice', 'Bob'],
    'age': [25, 30, 35, 25, 30],
    'city': ['New York', 'Los Angeles', 'Chicago', 'New York', 'Los Angeles']
}

df = pd.DataFrame(data)

df.drop_duplicates(subset=['name', 'age'])
print(df)

Output:

Pandas drop_duplicates函数的使用方法

3. 使用 keep 参数

keep 参数可以用于指定在去除重复项时保留哪一项。

例如,如果我们想保留最后一次出现的重复项,可以这样做:

import pandas as pd

data = {
    'name': ['Alice', 'Bob', 'Charlie', 'Alice', 'Bob'],
    'age': [25, 30, 35, 25, 30],
    'city': ['New York', 'Los Angeles', 'Chicago', 'New York', 'Los Angeles']
}

df = pd.DataFrame(data)

df.drop_duplicates(keep='last')
print(df)

Output:

Pandas drop_duplicates函数的使用方法

如果我们想去除所有重复项,可以这样做:

import pandas as pd

data = {
    'name': ['Alice', 'Bob', 'Charlie', 'Alice', 'Bob'],
    'age': [25, 30, 35, 25, 30],
    'city': ['New York', 'Los Angeles', 'Chicago', 'New York', 'Los Angeles']
}

df = pd.DataFrame(data)

df.drop_duplicates(keep=False)
print(df)

Output:

Pandas drop_duplicates函数的使用方法

4. 使用 inplace 参数

inplace 参数可以用于指定是否在原数据集上进行操作。

例如,如果我们想在原数据集上去除重复项,可以这样做:

import pandas as pd

data = {
    'name': ['Alice', 'Bob', 'Charlie', 'Alice', 'Bob'],
    'age': [25, 30, 35, 25, 30],
    'city': ['New York', 'Los Angeles', 'Chicago', 'New York', 'Los Angeles']
}

df = pd.DataFrame(data)

df.drop_duplicates(inplace=True)
print(df)

Output:

Pandas drop_duplicates函数的使用方法

注意,如果 inplace 参数设置为 True,drop_duplicates 函数将返回 None。

5. 结合其他函数使用

drop_duplicates 函数可以和其他 pandas 函数一起使用,以实现更复杂的功能。

例如,我们可以先使用 sort_values 函数对数据集进行排序,然后使用 drop_duplicates 函数去除重复项:

import pandas as pd

data = {
    'name': ['Alice', 'Bob', 'Charlie', 'Alice', 'Bob'],
    'age': [25, 30, 35, 25, 30],
    'city': ['New York', 'Los Angeles', 'Chicago', 'New York', 'Los Angeles']
}

df = pd.DataFrame(data)

df.sort_values('age').drop_duplicates('name')
print(df)

Output:

Pandas drop_duplicates函数的使用方法

在这个示例中,我们首先根据 ‘age’ 列对数据集进行了排序,然后根据 ‘name’ 列去除了重复项。

6. 总结

pandasdrop_duplicates 函数是一个非常实用的工具,它可以帮助我们去除数据集中的重复项。通过调整 subsetkeepinplace 参数,我们可以灵活地控制去重的行为。

在实际使用中,我们还可以将 drop_duplicates 函数和其他 pandas 函数一起使用,以实现更复杂的功能。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程