Pandas,如何过滤 df 以获得唯一的条目

作者:编程家 分类: pandas 时间:2025-11-08

Pandas如何过滤df以获得唯一的条目?

Pandas是一个强大的数据分析工具,它提供了许多功能和方法来处理和操作数据。在使用Pandas时,经常需要对数据进行过滤,以便获取所需的数据。在这篇文章中,我们将介绍如何使用Pandas来过滤DataFrame以获得唯一的条目。

过滤df以获得唯一的条目的方法

在Pandas中,可以使用`drop_duplicates()`方法来过滤DataFrame以获得唯一的条目。该方法将返回一个新的DataFrame,其中包含原始DataFrame中唯一的条目。

下面是使用`drop_duplicates()`方法的示例代码:

python

import pandas as pd

# 创建一个包含重复条目的DataFrame

data = {'Name': ['Tom', 'Tom', 'Jerry', 'Jerry', 'Spike'],

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

'City': ['New York', 'New York', 'Los Angeles', 'Los Angeles', 'Chicago']}

df = pd.DataFrame(data)

# 过滤DataFrame以获得唯一的条目

unique_df = df.drop_duplicates()

print(unique_df)

运行以上代码,将输出如下结果:

Name Age City

0 Tom 25 New York

2 Jerry 30 Los Angeles

4 Spike 35 Chicago

可以看到,原始DataFrame中重复的条目已被删除,返回了一个只包含唯一条目的新DataFrame。

使用多列进行过滤

除了使用单一列进行过滤外,还可以使用多列进行过滤。只需要将多个列名作为`subset`参数传递给`drop_duplicates()`方法即可。

下面是使用多列进行过滤的示例代码:

python

import pandas as pd

# 创建一个包含重复条目的DataFrame

data = {'Name': ['Tom', 'Tom', 'Jerry', 'Jerry', 'Spike'],

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

'City': ['New York', 'New York', 'Los Angeles', 'Los Angeles', 'Chicago']}

df = pd.DataFrame(data)

# 过滤DataFrame以获得唯一的条目(基于Name和Age列)

unique_df = df.drop_duplicates(subset=['Name', 'Age'])

print(unique_df)

运行以上代码,将输出如下结果:

Name Age City

0 Tom 25 New York

2 Jerry 30 Los Angeles

4 Spike 35 Chicago

可以看到,原始DataFrame中基于"Name"和"Age"两列的重复条目已被删除,返回了一个只包含唯一条目的新DataFrame。

使用Pandas的`drop_duplicates()`方法可以方便地过滤DataFrame以获得唯一的条目。无论是基于单一列还是多列进行过滤,都可以轻松地获取所需的数据。这对于数据清洗和分析非常有用。希望本文对你在使用Pandas进行数据处理时有所帮助!