在对另一列进行分组之后,查找一列值的最大出现

萨蒂亚

我有一个熊猫数据框:

        id                city
 [email protected]   Bangalore
 [email protected]       Mumbai
[email protected]      Jamshedpur
[email protected]      Jamshedpur
[email protected]    Bangalore
  [email protected]      Mumbai
  [email protected]      Vijayawada
  [email protected]      Vijayawada
  [email protected]      Vijayawada

我想以id-wise查找出现的最大城市名称。因此,对于给定的ID,我可以说-这是他最喜欢的城市:

         id             city
[email protected]   Bangalore
[email protected]       Vijayawada
[email protected]     Jamshedpur

使用groupby id和city可以得到:

         id                   city       count
0  [email protected]       Bangalore    2
1      [email protected]        Mumbai      2
2      [email protected]      Vijayawada    3
3    [email protected]      Jamshedpur    2

如何进一步进行?我相信一些按组申请会做到这一点,但不知道到底是什么会成功。因此,请提出建议。

如果两个或三个城市的ID数相同,则可以返回其中任何一个城市。

耶斯列尔

您可以groupby使用size尝试两次idxmax输出是元组列表(因为MultiIndex),因此请使用apply

df = df.groupby(['id','city']).size().groupby(level=0).idxmax()
                              .apply(lambda x: x[1]).reset_index(name='city')

另一个解决方案:

s = df.groupby(['id','city']).size()
df = s.loc[s.groupby(level=0).idxmax()].reset_index().drop(0,axis=1)

或者:

df = df.groupby(['id'])['city'].apply(lambda x: x.value_counts().index[0]).reset_index()

print (df)
                     id        city
0  [email protected]   Bangalore
1      [email protected]  Vijayawada
2    [email protected]  Jamshedpur

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何选择*并按一列分组,同时选择另一列的最大值?

来自分类Dev

根据另一列进行分组

来自分类Dev

如何按用户ID对表进行分组并为另一列获取最大值?

来自分类Dev

在另一列中查找一列的值

来自分类Dev

根据一列进行分组,并在另一列中获取总和值

来自分类Dev

查找一列的最小和最大行并减去另一列的值

来自分类Dev

如何从同一列的另一列中任意位置出现的一列中查找值

来自分类Dev

查找对另一列中的值进行迭代的最大计数

来自分类Dev

根据另一列中的一列查找行值并进行计算

来自分类Dev

根据从另一列的最大值返回的最小年份值按列进行分组

来自分类Dev

通过csv列对对象进行分组,然后从另一列中选择最大值

来自分类Dev

Google表格:如何查找按另一列值分组的一列值的平均值?

来自分类Dev

对一列进行排序,以使一列跟随另一列的值

来自分类Dev

Excel:在与另一列匹配的那些值中查找一列的最小值/最大值

来自分类Dev

对一列进行分组,然后从另一列中查找重复项,然后在Python中返回指示

来自分类Dev

根据一列的相同值进行分组和排序,然后对这些组中的另一列进行排序

来自分类Dev

在一列上分组并在另一列上获得最大值

来自分类Dev

将数据框分组到一列,并从一列中获取最大值,并从另一列中获取其对应的值

来自分类Dev

如何用一列的最大值与另一列的最小值之间的差异将一列中的df按Python分组?

来自分类Dev

熊猫分组;if 条件:sum else: 给定列的最大值基于另一列

来自分类Dev

在另一列中读取最大值的同时查找一列中的时间点

来自分类Dev

列出按另一列分组的唯一值

来自分类Dev

按一列分组,另一列求和

来自分类Dev

SQL将一列中的最小值与另一列中的最大日期进行比较

来自分类Dev

根据列值的条件对选定的行进行分组,然后转换另一列

来自分类Dev

如何根据另一列的值对列进行熊猫分组并获得每组的特定结果?

来自分类Dev

查找特定列的最大值,但在 Pandas 中返回另一列

来自分类Dev

将列与另一列分组

来自分类Dev

按一列的值排序,使行按另一列的值分组

Related 相关文章

  1. 1

    如何选择*并按一列分组,同时选择另一列的最大值?

  2. 2

    根据另一列进行分组

  3. 3

    如何按用户ID对表进行分组并为另一列获取最大值?

  4. 4

    在另一列中查找一列的值

  5. 5

    根据一列进行分组,并在另一列中获取总和值

  6. 6

    查找一列的最小和最大行并减去另一列的值

  7. 7

    如何从同一列的另一列中任意位置出现的一列中查找值

  8. 8

    查找对另一列中的值进行迭代的最大计数

  9. 9

    根据另一列中的一列查找行值并进行计算

  10. 10

    根据从另一列的最大值返回的最小年份值按列进行分组

  11. 11

    通过csv列对对象进行分组,然后从另一列中选择最大值

  12. 12

    Google表格:如何查找按另一列值分组的一列值的平均值?

  13. 13

    对一列进行排序,以使一列跟随另一列的值

  14. 14

    Excel:在与另一列匹配的那些值中查找一列的最小值/最大值

  15. 15

    对一列进行分组,然后从另一列中查找重复项,然后在Python中返回指示

  16. 16

    根据一列的相同值进行分组和排序,然后对这些组中的另一列进行排序

  17. 17

    在一列上分组并在另一列上获得最大值

  18. 18

    将数据框分组到一列,并从一列中获取最大值,并从另一列中获取其对应的值

  19. 19

    如何用一列的最大值与另一列的最小值之间的差异将一列中的df按Python分组?

  20. 20

    熊猫分组;if 条件:sum else: 给定列的最大值基于另一列

  21. 21

    在另一列中读取最大值的同时查找一列中的时间点

  22. 22

    列出按另一列分组的唯一值

  23. 23

    按一列分组,另一列求和

  24. 24

    SQL将一列中的最小值与另一列中的最大日期进行比较

  25. 25

    根据列值的条件对选定的行进行分组,然后转换另一列

  26. 26

    如何根据另一列的值对列进行熊猫分组并获得每组的特定结果?

  27. 27

    查找特定列的最大值,但在 Pandas 中返回另一列

  28. 28

    将列与另一列分组

  29. 29

    按一列的值排序,使行按另一列的值分组

热门标签

归档