我有一张类似的桌子
fruit day
---------------------
apple Mon
apple Mon
apple Tue
banana Tue
我想按水果分组,并在列表中有独特的日子,在列表的len中有另一列。我熟悉如何执行groupby,但不确定如何获取列表中的唯一值并获取其长度。 寻找类似
的结果fruit day_list count
apple [Mon, Tue] 2
banana [Tue] 1
答案 0 :(得分:2)
用groupby
和unique
+ nunique
来检查
df.groupby('fruit').day.agg(['unique','nunique']).reset_index()
Out[242]:
fruit unique nunique
0 apple [Mon, Tue] 2
1 banana [Tu] 1
答案 1 :(得分:1)
您可以在“天”列上进行两次加法操作(对于唯一值而言,是唯一的,对于唯一值而言,则是数字的唯一)。
df.groupby('fruit')['day'].agg(['unique', 'nunique'])
Output:
unique nunique
fruit
apple [Mon, Tue] 2
banana [Tue] 1