Pandas - 有效的方法吗?

Pandas - Efficient way for this?

假设我有一个 pandas 数据框,其列为 ['a'、'b'、'c']。它们都是整数类型。我想在 'b' 列中找到与 'c' 列中每个唯一值相对应的唯一值的数量,并将其存储在新的数据框中。我如何使用 pandas 做到这一点?我试过这样的事情:

new_df = pd.DataFrame()
for value in df['c'].unique():
    x1 = df[df['c']==value]
    x2 = x1['b'].unique().size
    new_df.append({'A': x2, 'B': value}, ignore_index=True)

但是太费时间了。有什么有效的方法吗?

如果我理解正确的话,这应该可以工作:

df.groupby("c")["b"].nunique()
df.groupby('c')['b'].value_counts()