Pandas sum multiple dataframes

后端 未结 1 1304
忘了有多久
忘了有多久 2020-12-16 12:42

I have multiple dataframes each with a multi-level-index and a value column. I want to add up all the dataframes on the value columns.

df1 + df2

<
相关标签:
1条回答
  • 2020-12-16 13:19

    use the add method with fill_value=0 parameter.

    df1 = pd.DataFrame({'val':{'a': 1, 'b':2, 'c':3}})
    df2 = pd.DataFrame({'val':{'a': 1, 'b':2, 'd':3}})
    
    df1.add(df2, fill_value=0)
    


    MultiIndex example

    idx1 = pd.MultiIndex.from_tuples([('a', 'A'), ('a', 'B'), ('b', 'A'), ('b', 'D')])
    idx2 = pd.MultiIndex.from_tuples([('a', 'A'), ('a', 'C'), ('b', 'A'), ('b', 'C')])
    
    np.random.seed([3,1415])
    df1 = pd.DataFrame(np.random.randn(4, 1), idx1, ['val'])
    df2 = pd.DataFrame(np.random.randn(4, 1), idx2, ['val'])
    
    df1
    

    df2
    

    df1.add(df2, fill_value=0)
    

    0 讨论(0)
提交回复
热议问题