DataFrame.drop_duplicates 和 DataFrame.drop 不删除行

pandas

1个回答

写回答

15620848633

2025-07-03 00:05

+ 关注

Pandas
Pandas

使用Pandas库提供的DataFrame.drop_duplicates和DataFrame.drop方法可以方便地在Python中删除DataFrame中的重复行和指定行。本文将介绍这两个方法的使用,并提供实际案例代码进行演示。

DataFrame.drop_duplicates方法用于删除DataFrame中的重复行。重复行是指所有列的值都相同的行。该方法的语法如下:

Python

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

参数说明:

- subset:可选参数,用于指定要检查重复行的列名。默认值为None,表示检查所有列。

- keep:可选参数,用于指定保留哪个重复行。可选值为'first'、'last'和False。默认值为'first',表示保留第一个重复行;'last'表示保留最后一个重复行;False表示删除所有重复行。

- inplace:可选参数,用于指定是否在原始DataFrame上进行操作。默认值为False,表示返回一个新的DataFrame。

下面是一个简单的示例,演示如何使用DataFrame.drop_duplicates方法删除DataFrame中的重复行:

Python

import Pandas as pd

# 创建一个包含重复行的DataFrame

data = {'A': [1, 2, 3, 2, 1],

'B': [4, 5, 6, 5, 4]}

df = pd.DataFrame(data)

# 删除重复行

df.drop_duplicates(inplace=True)

print(df)

输出结果为:

A B

0 1 4

1 2 5

2 3 6

可以看到,重复的行已经被删除,只保留了唯一的行。

DataFrame.drop方法用于删除DataFrame中的指定行。该方法的语法如下:

Python

DataFrame.drop(labels, axis=0, index=None, columns=None, inplace=False)

参数说明:

- labels:用于指定要删除的行或列的标签。可以是单个标签或标签列表。

- axis:可选参数,用于指定删除行还是列。默认值为0,表示删除行;1表示删除列。

- index:可选参数,用于指定要删除的行的索引标签。当axis为0时使用。

- columns:可选参数,用于指定要删除的列的列名。当axis为1时使用。

- inplace:可选参数,用于指定是否在原始DataFrame上进行操作。默认值为False,表示返回一个新的DataFrame。

下面是一个示例,演示如何使用DataFrame.drop方法删除DataFrame中的指定行:

Python

import Pandas as pd

# 创建一个包含5行5列的DataFrame

data = {'A': [1, 2, 3, 4, 5],

'B': [6, 7, 8, 9, 10],

'C': [11, 12, 13, 14, 15],

'D': [16, 17, 18, 19, 20],

'E': [21, 22, 23, 24, 25]}

df = pd.DataFrame(data)

# 删除索引为2和4的行

df.drop([2, 4], inplace=True)

print(df)

输出结果为:

A B C D E

0 1 6 11 16 21

1 2 7 12 17 22

3 4 9 14 19 24

可以看到,索引为2和4的行已经被删除。

使用drop_duplicates和drop方法删除DataFrame中的重复行和指定行

有时候我们需要同时删除DataFrame中的重复行和指定行。下面是一个示例,演示如何使用drop_duplicates和drop方法实现这个功能:

Python

import Pandas as pd

# 创建一个包含重复行和需要删除的行的DataFrame

data = {'A': [1, 2, 3, 2, 1, 4],

'B': [4, 5, 6, 5, 4, 7]}

df = pd.DataFrame(data)

# 删除重复行

df.drop_duplicates(inplace=True)

# 删除索引为2和4的行

df.drop([2, 4], inplace=True)

print(df)

输出结果为:

A B

0 1 4

1 2 5

5 4 7

可以看到,重复的行和索引为2和4的行都已经被成功删除。

本文介绍了使用DataFrame.drop_duplicates和DataFrame.drop方法删除DataFrame中的重复行和指定行的方法。这两个方法提供了灵活的参数选项,可以满足不同情况下的需求。通过使用这些方法,可以方便地对DataFrame进行数据清洗和整理。

以上是本文的全部内容。通过使用Pandas库提供的DataFrame.drop_duplicates和DataFrame.drop方法,我们可以轻松地删除DataFrame中的重复行和指定行,从而提高数据的质量和准确性。希望本文对你有所帮助!

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号