代码之家  ›  专栏  ›  技术社区  ›  송준석

如何在python中对其他列上的数据帧列求和?

  •  0
  • 송준석  · 技术社区  · 6 年前

    我有以下数据框架。

    ID    Product  quantity
    9626     a       1
    9626     b       1
    9626     c       1
    6600     f       1
    6600     a       1
    6600     d       1
    

    我想按ID加入行。 下面是结果的一个例子。 (数量列是可选的。不需要此列。)

    ID    Product  quantity
    9626     a,b,c     3
    6600     a,d,f     3
    

    我用了合并和求和,但没用。

    这个问题只有用循环语句才能解决吗?

    如果你能为我提供解决方案,我将不胜感激。

    1 回复  |  直到 6 年前
        1
  •  5
  •   cs95 abhishek58g    6 年前

    使用 groupby.agg :

    df = (df.sort_values('Product')
            .groupby('ID', as_index=False, sort=False)
            .agg({'Product':','.join, 'quantity':'sum'}))
    
    print(df)
         ID Product  quantity
    0  9626   a,b,c         3
    1  6600   a,d,f         3