首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pandas GroupBy聚合Collect_List Collect_Set

Pandas GroupBy聚合Collect_List Collect_Set
EN

Stack Overflow用户
提问于 2020-03-17 14:06:53
回答 1查看 2.3K关注 0票数 1

我正在尝试获得类似于星火GroupBy和Collect_List或潘达斯中的Collect_Set的类似功能。

代码语言:javascript
复制
import pandas as pd
(pd.DataFrame
         (
             {
                 'professorid' : [1,2,3,4,5,1,2],
                 'studentid': ['a','b','c', 'd','e','b','b']
             }
         )
         .groupby
         (
             'professorid'
         )
         .agg
         (
             num_students = ('studentid' , 'count'),
             studentids = ('studentid' ,  lambda x: x.unique().tolist())
         )
)

这是一个错误:

KeyError:“(‘学生’,'')不在索引中”

我正在寻找的结果如下所示。

我怎么才能得到结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-17 14:27:24

你不需要lambda,你可以使用unique

代码语言:javascript
复制
import pandas as pd

(pd.DataFrame
         (
             {
                 'professorid' : [1,2,3,4,5,1,2],
                 'studentid': ['a','b','c', 'd','e','b','b']
             }
         )
         .groupby
         (
             'professorid'
         )
         .agg
         (
             num_students = ('studentid' , 'count'),
             studentids = ('studentid' ,  'unique')
         )
)

             num_students studentids
professorid                         
1                       2     [a, b]
2                       2        [b]
3                       1        [c]
4                       1        [d]
5                       1        [e]
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60723991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档