优草派  >   Python

pandas.DataFrame.drop_duplicates 用法介绍

周雨            来源:优草派

Pandas是Python中常用的数据分析工具,它提供了一系列的数据操作和分析函数,包括数据读取、数据清洗、数据统计和数据可视化等。其中,drop_duplicates函数是一个非常实用的函数,可以帮助我们去除DataFrame中的重复行数据。本文将从多个角度分析pandas.DataFrame.drop_duplicates的用法。一、函数介绍

pandas.DataFrame.drop_duplicates函数用于去除DataFrame中的重复行数据。该函数的语法格式如下:

pandas.DataFrame.drop_duplicates 用法介绍

DataFrame.drop_duplicates(subset=None, keep='first', inplace=False, ignore_index=False)

其中,参数的含义如下:

1. subset:指定要去除重复的列名或列名列表,默认为所有列。

2. keep:指定保留哪一个重复行。可选值为'first'(保留第一个)、'last'(保留最后一个)和False(全部删除),默认为'first'。

3. inplace:指定是否在原DataFrame上直接修改。默认为False,表示不修改原DataFrame,而是返回一个新的DataFrame。

4. ignore_index:指定是否重置行索引。默认为False,表示保留原有行索引。

二、使用示例

下面通过一个简单的示例来介绍pandas.DataFrame.drop_duplicates函数的使用。假设我们有一个DataFrame数据,其中包含了三列数据,分别是姓名、年龄和性别。

import pandas as pd

data = {

'Name': ['Alice', 'Bob', 'Alice', 'Charlie', 'Bob'],

'Age': [25, 30, 25, 35, 30],

'Gender': ['F', 'M', 'F', 'M', 'M']

}

df = pd.DataFrame(data)

print(df)

输出结果如下:

Name Age Gender

0 Alice 25 F

1 Bob 30 M

2 Alice 25 F

3 Charlie 35 M

4 Bob 30 M

我们可以发现,第一行和第三行、第二行和第五行是重复的。现在,我们想要去除这些重复行,只保留第一个出现的行。我们可以使用如下的代码:

df.drop_duplicates(keep='first', inplace=True)

print(df)

输出结果如下:

Name Age Gender

0 Alice 25 F

1 Bob 30 M

3 Charlie 35 M

可以看到,重复的行已经被去除了,只保留了第一个出现的行。

三、参数详解

1. subset参数

subset参数用于指定要去除重复的列名或列名列表。如果我们只想要根据某一列去除重复行,可以将该列名作为subset参数的值。例如,我们想要根据姓名列去除重复行,可以使用如下的代码:

df.drop_duplicates(subset=['Name'], keep='first', inplace=True)

print(df)

输出结果如下:

Name Age Gender

0 Alice 25 F

1 Bob 30 M

3 Charlie 35 M

可以看到,只有姓名列重复的行被去除了,其他行都被保留了下来。

2. keep参数

keep参数用于指定保留哪一个重复行。默认为'first',表示保留第一个出现的行。如果keep参数的值为'last',则表示保留最后一个出现的行。如果keep参数的值为False,表示全部删除重复行。例如,我们想要保留最后一个重复行,可以使用如下的代码:

df.drop_duplicates(keep='last', inplace=True)

print(df)

输出结果如下:

Name Age Gender

2 Alice 25 F

3 Charlie 35 M

4 Bob 30 M

可以看到,第三行和第五行是重复的,但是我们保留了最后一个出现的行,也就是第五行。

3. inplace参数

inplace参数用于指定是否在原DataFrame上直接修改。如果inplace参数的值为True,表示在原DataFrame上直接修改,不返回新的DataFrame;如果inplace参数的值为False,表示不修改原DataFrame,而是返回一个新的DataFrame。例如,我们想要在原DataFrame上直接修改,可以使用如下的代码:

df.drop_duplicates(keep='first', inplace=True)

print(df)

输出结果与之前相同,这里不再给出。

4. ignore_index参数

ignore_index参数用于指定是否重置行索引。如果ignore_index参数的值为True,表示重置行索引;如果ignore_index参数的值为False,表示保留原有行索引。例如,我们想要重置行索引,可以使用如下的代码:

df.drop_duplicates(keep='first', inplace=True, ignore_index=True)

print(df)

输出结果如下:

Name Age Gender

0 Alice 25 F

1 Bob 30 M

2 Charlie 35 M

可以看到,行索引已经被重置了。

四、总结

本文介绍了pandas.DataFrame.drop_duplicates函数的用法,包括函数介绍、使用示例、参数详解等方面。在实际的数据分析中,该函数可以帮助我们去除DataFrame中的重复行数据,从而提高数据的质量和准确性。在使用该函数时,需要根据实际情况设置subset、keep、inplace和ignore_index等参数,以满足具体的需求。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行