gpt4 book ai didi

python - Pandas groupby 中每行的唯一值

转载 作者:行者123 更新时间:2023-12-01 23:29:54 26 4
gpt4 key购买 nike

我有一个简单的 dataframe (df),如下所示:

index Job  Person 
1 j1 Cathy
2 j2 Mark
3 j3 Cathy
4 j4 Steve
5 j5 Cathy
6 Cathy
7 j1 Cathy

我想将上面的 dataframe 转换为:

Person CountJob  JobDetails
Cathy 4 j1;j3;j5
Mark 1 j2
Steve 1 j4

即,删除Nulls并加入每个人的Unique工作。

我可以使用 groupby 部分解决这个问题:

df.groupby('Person').agg(CountJob=('Job','count'),
JobDetails=('Job',lambda x: ';'.join(x.dropna()))
)

我可以删除空值,但似乎无法获得唯一值;在上面的示例中,对于“Cathy”,“JobDetails”变为 j1;j3;j5 ;j1

最佳答案

使用dropna添加unique

df.groupby('Person').agg(CountJob=('Job','count'),
JobDetails=('Job',lambda x: ';'.join(x.dropna().unique()))
)
Out[143]:
CountJob JobDetails
Person
Cathy 4 j1;j3;j5
Mark 1 j2
Steve 1 j4

关于python - Pandas groupby 中每行的唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66465558/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com