📜  如何计算 Pandas Groupby 对象中的唯一值?(1)

📅  最后修改于: 2023-12-03 15:38:54.277000             🧑  作者: Mango

如何计算 Pandas Groupby 对象中的唯一值

在 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' 列中的不同值。

综上所述,我们可以使用 nuniqueunique 函数计算 Pandas Groupby 对象中的唯一值,并获得唯一值列表。