在我提问之前,我希望大家知道,我看了下一页,但没有返回我需要的具体内容:
Count unique values using pandas groupby
假设我有以下四个人试图猜代码的df。每个人都有两个猜测:
df = pd.DataFrame({'name':['Sally', 'John', 'Lucy', 'Mark','Sally', 'John', 'Lucy', 'Mark'],
'guess':['123', '321', '213', '312', '321', '231', '123', '312']})
df
name guess
0 Sally 123
1 John 321
2 Lucy 213
3 Mark 312
4 Sally 321
5 John 231
6 Lucy 123
7 Mark 312
我想知道每个人有多少完全独特的猜测。也就是说,我不想知道每个人在自己的猜测中有多少独特的猜测,而是想知道他们在所有猜测中有多少独特的猜测。让我详细说明一下
使用上面链接的帖子中的代码,我得到的是:
df.groupby('name')[['guess']].nunique()
guess
name
John 2
Lucy 2
Mark 1
Sally 2
这将返回每个人与他们自己的猜测相比的唯一猜测数。同样,我要寻找的是每个人在所有猜测中有多少独特的猜测(也就是整个coulmn)。这是我正在寻找的输出:
guess count
name
John 1 2
Lucy 1 2
Mark 0 2
Sally 0 2
因为约翰的一个猜测(231)和露西的一个猜测(213)在所有猜测中都是独一无二的。如果有一个列显示每个人的总猜测数也会很好
提前谢谢你
通过按
guess
分组,您可以首先找出哪些猜测是唯一的,然后只需对name
进行分组计数和求和,然后即可获得最终输出:相关问题 更多 >
编程相关推荐