Pandas 同时显示唯一计数和唯一值?

Pandas show both unique counts and unique values?

假设我有一个这样的数据框:

import pandas as pd

df = pd.DataFrame([
    ('a', 'aa'),
    ('b', 'aa'),
    ('c', 'bb'),
    ('d', 'bb'),
    ('e', 'cc'),
    ('f', 'cc'),
    ('h', 'cc')
], columns=['group', 'id'])

我做了一个 groupby 来显示唯一值的计数以及唯一值本身。这是我现在正在做的事情:

df1 = df.groupby(["id"])["group"].nunique()
print(df1)
id
aa    2
bb    2
cc    3
df2 =  df.groupby(['id'])['group'].agg(['unique'])
print(df2)
id           
aa     [a, b]
bb     [c, d]
cc  [e, f, h]

但是,我试图让这两个并排显示(一列显示计数,一列显示值,如下所示。有什么方法可以实现吗?

id    count values
aa    2     [a, b]
bb    2     [c, d]
cc    3     [e, f, h]
res = df.groupby('id')['group'].agg(count='nunique', values='unique')

输出

>>> res

    count     values
id                  
aa      2     [a, b]
bb      2     [c, d]
cc      3  [e, f, h]