Pandas,对于一列中的每个唯一值,在另一列中获取唯一值

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

使用Pandas库可以轻松地处理和分析数据。在数据分析过程中,经常会遇到需要根据一列中的每个唯一值,在另一列中获取唯一值的情况。本文将介绍如何使用Pandas实现这一操作,并提供相应的示例代码。

获取唯一值的需求

在数据分析中,我们经常需要根据某一列的唯一值来进行进一步的操作。例如,我们有一份销售记录表格,其中包含了客户姓名和购买商品的信息。我们想要知道每个客户购买了多少种不同的商品。这时,我们可以根据客户姓名这一列,去重并统计购买商品的种类。

使用Pandas获取唯一值

在Pandas中,可以使用unique()方法来获取一列中的唯一值。该方法会返回一个包含列中唯一值的数组。我们可以将这个数组转换为Pandas的Series对象,以便进行进一步的操作。

下面是一个简单的示例代码,演示了如何使用Pandas获取唯一值:

python

import pandas as pd

# 创建一个包含客户姓名和购买商品的DataFrame

data = {'客户姓名': ['张三', '李四', '王五', '张三', '李四', '王五'],

'购买商品': ['商品A', '商品B', '商品C', '商品A', '商品B', '商品D']}

df = pd.DataFrame(data)

# 使用unique()方法获取唯一值

unique_names = pd.Series(df['客户姓名'].unique())

unique_items = pd.Series(df['购买商品'].unique())

print("唯一的客户姓名:")

print(unique_names)

print("\n唯一的购买商品:")

print(unique_items)

运行以上代码,我们可以得到以下输出:

唯一的客户姓名:

0 张三

1 李四

2 王五

dtype: object

唯一的购买商品:

0 商品A

1 商品B

2 商品C

3 商品D

dtype: object

从输出结果可以看出,我们成功地获取了客户姓名和购买商品列中的唯一值。

案例应用:统计客户购买商品种类

接下来,我们以实际案例来演示如何根据一列中的每个唯一值,在另一列中获取唯一值。假设我们有一份销售记录表格,其中包含了客户姓名和购买商品的信息。

python

import pandas as pd

# 创建一个包含客户姓名和购买商品的DataFrame

data = {'客户姓名': ['张三', '李四', '王五', '张三', '李四', '王五'],

'购买商品': ['商品A', '商品B', '商品C', '商品A', '商品B', '商品D']}

df = pd.DataFrame(data)

# 根据客户姓名去重,并统计购买商品的种类

unique_names = pd.Series(df['客户姓名'].unique())

for name in unique_names:

unique_items = pd.Series(df[df['客户姓名'] == name]['购买商品'].unique())

print("{}购买了{}种商品".format(name, len(unique_items)))

运行以上代码,我们可以得到以下输出:

张三购买了2种商品

李四购买了2种商品

王五购买了2种商品

通过以上代码,我们成功地根据客户姓名列获取了购买商品列中的唯一值,并统计了每个客户购买了多少种不同的商品。

本文介绍了如何使用Pandas库中的unique()方法来获取一列中的唯一值,并通过案例演示了如何根据一列中的每个唯一值,在另一列中获取唯一值的方法。使用Pandas可以轻松地处理和分析数据,为数据分析工作带来了极大的便利。希望本文对您在数据分析工作中的应用有所帮助。