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

合并列并保留标题

  •  0
  • NoviceMe  · 技术社区  · 7 年前

    df = pd.read_csv(“_data.csv",skiprows=[0], header=None)
    df = df.groupby([2])[10].sum().astype(float)
    

    A   B
    1   2
    1   1
    2   3
    2   4
    

    我有上面这样的数据试图得到这个结果:

    A   B
    1   3
    2   7
    
    2 回复  |  直到 7 年前
        1
  •  0
  •   Ste    7 年前

    您应该指定分隔符(本例中有几个空格),并且标题是第一行(=0,使用python索引),而不是按所需列分组。

    df = pd.read_csv("_data.csv", sep='\s*', header=0)
       A  B
    0  1  2
    1  1  1
    2  2  3
    3  2  4
    
    df = df.groupby(['A']).sum()
    
       B
    A   
    1  3
    2  7
    
        2
  •  0
  •   bobbyrne01    7 年前

    reset_index 合计后:

    data = [{'a': 1, 'b': 2},{'a': 1, 'b': 1},{'a': 2, 'b': 3},{'a': 2, 'b': 4}]
    
    df = pd.DataFrame(data)
    df
       a  b
    0  1  2
    1  1  1
    2  2  3
    3  2  4
    
    df.groupby('a').sum().reset_index()
    
       a  b
    0  1  3
    1  2  7