python pandas dataframe 去重函数的具体使用

  • Post category:Python

针对“python pandas dataframe去重函数的具体使用”,我为您提供如下完整攻略:

pandas dataframe去重函数介绍

pandas是python中一款流行的数据分析工具,而在pandas中,对于dataframe去重操作,常用的有两种函数:

  • drop_duplicates函数:用来去除DataFrame中的重复行。
  • duplicated函数:用来判断DataFrame中的行是否有重复,并返回布尔值。

下面,我将分别为您介绍两个函数的具体用法,并给出两条示例说明。

drop_duplicates函数的使用

首先,我们先了解一下drop_duplicates函数的基本使用方法:

DataFrame.drop_duplicates(subset=None, keep=’first’, inplace=False)
  • subset:指定哪些列需要去重,默认全部列。
  • keep:指定保留哪个元素,可选值包括first/last/False,分别表示保留第一次出现的元素、保留最后一次出现的元素、全部去重。
  • inplace:指定是否在原始DataFrame上执行操作,默认为False,即创建一个新的DataFrame副本。

下面我来为您演示两个具体的应用场景。

示例1:对DataFrame进行全列去重

例如,我们有如下DataFrame:

import pandas as pd

df = pd.DataFrame({
    'name': ['Alice', 'Bob', 'Alice'],
    'age': [28, 25, 28],
    'gender': ['F', 'M', 'F']
})

print(df)

输出结果为:

    name  age gender
0  Alice   28      F
1    Bob   25      M
2  Alice   28      F

我们可以使用drop_duplicates函数对其进行全列去重:

deduplicated = df.drop_duplicates()

print(deduplicated)

输出结果为:

    name  age gender
0  Alice   28      F
1    Bob   25      M

上述代码中,通过调用drop_duplicates函数,直接得到了去重后的结果,没有对原始DataFrame造成改动。

示例2:对指定列进行去重

我们还可以选择只对DataFrame中的某些列进行去重。以示例1为例,若我们只需要对name列进行去重,可以这样实现:

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

print(deduplicated)

输出结果为:

    name  age gender
0  Alice   28      F
1    Bob   25      M

通过指定subset='name'参数,我们只对name列进行了去重操作。

duplicated函数的使用

除了drop_duplicates函数外,pandas中还提供了duplicated函数来判断每行数据是否有重复,并返回一个布尔值的Series。duplicated函数的基本使用如下:

DataFrame.duplicated(subset=None, keep=’first’)
  • subset:指定哪些列需要去重,默认全部列。
  • keep:同上述drop_duplicates函数,指定保留哪个元素。
  • 返回值:一个布尔值的Series,表示每行是否有重复。

下面来看一个示例。

示例3:使用duplicated函数判断每行是否有重复

例如,我们有如下DataFrame:

df = pd.DataFrame({
    'name': ['Alice', 'Bob', 'Charlie'],
    'age': [28, 25, 20],
    'gender': ['F', 'M', 'M']
})

print(df)

输出结果为:

      name  age gender
0    Alice   28      F
1      Bob   25      M
2  Charlie   20      M

假设我们需要判断其中每行是否存在重复的数据,可以这样实现:

duplicated = df.duplicated()

print(duplicated)

输出结果为:

0    False
1    False
2    False
dtype: bool

上述代码中,我们通过调用duplicated函数返回一个布尔值的Series,表示每行是否有重复数据。

总结

到这里,我们就为大家介绍了pandas dataframe中的去重函数drop_duplicates和duplicated的使用方法,并给出了两个具体的示例说明。掌握了这些函数的用法后,我们可以更好地对Dataframe中的数据进行去重和判断。