我有一个熊猫数据框:
id city
000.tushar@gmail.com Bangalore
00078r@gmail.com Mumbai
0007ayan@gmail.com Jamshedpur
0007ayan@gmail.com Jamshedpur
000.tushar@gmail.com Bangalore
00078r@gmail.com Mumbai
00078r@gmail.com Vijayawada
00078r@gmail.com Vijayawada
00078r@gmail.com Vijayawada
我想找出最大出现的城市名称。因此,对于一个给定的身份证,我可以知道-这是他最喜欢的城市:
^{pr2}$使用groupby id和city可以得到:
id city count
0 000.tushar@gmail.com Bangalore 2
1 00078r@gmail.com Mumbai 2
2 00078r@gmail.com Vijayawada 3
3 0007ayan@gmail.com Jamshedpur 2
如何进一步?我相信有人会这么做,但不知道到底是什么会起作用。所以请建议。在
如果某个id对两个或三个城市有相同的计数,我可以返回这些城市中的任何一个。在
您可以尝试使用^{} 和^{} 进行双
groupby
。输出是元组的列表(因为MultiIndex
),所以使用apply
:其他解决方案:
^{pr2}$或者:
recommended方法是
groupby('id').apply(your_custom_function)
,其中您的自定义函数按“city”聚合并返回最大值(或如您所述,多个max值)。我们甚至不必使用.agg('city')
相关问题 更多 >
编程相关推荐