📅  最后修改于: 2023-12-03 15:38:54.277000             🧑  作者: Mango
在 Pandas 中,Groupby 对象可以将数据分组并进行统计分析。在分组分析数据时,我们有时需要计算每个分组中的唯一值。下面我们将介绍如何使用 Pandas 计算 Groupby 对象中的唯一值。
假设我们有以下数据集,表示不同客户在不同月份的购物额:
import pandas as pd
data = {'Customer': ['A', 'A', 'B', 'B', 'B', 'C'],
'Month': ['Jan', 'Feb', 'Feb', 'Mar', 'Mar', 'Jan'],
'Amount': [100, 200, 150, 300, 250, 120]}
df = pd.DataFrame(data)
现在我们将数据按客户进行分组,并计算每个客户购物的唯一月份,可以使用 nunique
函数:
unique_month = df.groupby('Customer')['Month'].nunique()
print(unique_month)
以上代码的输出结果如下:
Customer
A 2
B 2
C 1
Name: Month, dtype: int64
其中,nunique
函数计算每个客户的 'Month' 列中有多少个不同的值,输出为一个 Pandas Series。
除了 nunique
,我们也可以使用 unique
函数来获取每个分组中的唯一值列表。例如,我们想要获取每个客户购物的月份列表,可以使用以下代码:
unique_month_list = df.groupby('Customer')['Month'].unique()
print(unique_month_list)
以上代码的输出结果如下:
Customer
A [Jan, Feb]
B [Feb, Mar]
C [Jan]
Name: Month, dtype: object
其中,unique
函数返回一个 Pandas Series,每个值是一个列表,表示该分组中 'Month' 列中的不同值。
综上所述,我们可以使用 nunique
或 unique
函数计算 Pandas Groupby 对象中的唯一值,并获得唯一值列表。