【发布时间】:2017-07-03 07:26:03
【问题描述】:
我有一个类似的数据框
import pandas as pd
import numpy as np
d = {'id':[1,2,3,4,3,3,1,6], 'type':['t2','t1','t2','t2','t3','t3','t4','t3']}
df = pd.DataFrame(data=d)
目标是获得一个按 id 分组的数据帧,并且每个组的每种类型都有nunique。
我认为这会解决它,但它似乎不起作用:
df.groupby('id').agg({'type':pd.Series.nunique()})
【问题讨论】:
-
从
nunique中删除(),因为您想传递对函数的引用,而不是调用它。df.groupby(by='id').agg(pd.Series.nunique)会成功的。 -
谢谢@dnswlt - 我知道这很容易。
标签: python pandas filter group-by aggregate