代码之家  ›  专栏  ›  技术社区  ›  sgerbhctim

如何对项目进行分组,然后遍历子组[重复]

  •  0
  • sgerbhctim  · 技术社区  · 5 年前

    假设我有一个数据框,看起来像这样:

        interview       longitude        latitude
    1   A1                  34.2             90.2
    2   A1                  54.2             23.5
    3   A3                  32.1             21.5
    4   A4                  54.3             93.1
    5   A2                  45.1             29.5
    6   A1                  NaN              NaN
    7   A7                  NaN              NaN
    8   A1                  NaN              NaN
    9   A3                  23.1             38.2
    10  A5                  -23.7            -98.4
    

    我希望能够执行某种groupby方法,输出每个子组及其各自的经度和纬度。所以,像这样的东西的期望输出是:

        interview         longitude         latitude 
    1   A1                  34.2             90.2
    2   A1                  54.2             23.5
    6   A1                  NaN              NaN
    8   A1                  NaN              NaN
    
    5   A2                  45.1             29.5
    
    3   A3                  32.1             21.5
    9   A3                  23.1             38.2
    
    ... and so on
    

    所以这需要在一个循环中完成,因为我需要遍历每个子组的每一行。

    我的目标是在每次面试(A1、A2、…)中,哪位面试官(A1,A2,…)如果旅行的距离最长——基本上,我只需要能够在每个分组中执行一些计算。。我如何迭代地执行这个分组方法,这样我就可以在每个子组中再次迭代地执行一个操作,

    谢谢

    1 回复  |  直到 5 年前
        1
  •  1
  •   yatu Sayali Sonawane    5 年前

    你可以在一个循环中循环不同的组 GroupBy :

    for name, group in df.groupby('interview'):
        # perform some operations on group