【问题标题】:Panda, summing multiple DataFrames with different columns熊猫,对具有不同列的多个 DataFrame 求和
【发布时间】:2018-08-20 18:06:27
【问题描述】:

我有以下数据帧:

A =  
  0 1 2 
0 1 1 1
1 1 1 1
2 1 1 1

B = 
  0 5
0 1 1
5 1 1

我想“加入”这两个框架,这样:

A + B =
   0 1 2 5
 0 2 1 1 1
 1 1 1 1 0
 2 1 1 1 0
 5 1 0 0 1  

其中 A+B 是一个新的数据帧

【问题讨论】:

    标签: python pandas numpy


    【解决方案1】:

    使用add

    df1.add(df2,fill_value=0).fillna(0)
    Out[217]: 
         0    1    2    5
    0  2.0  1.0  1.0  1.0
    1  1.0  1.0  1.0  0.0
    2  1.0  1.0  1.0  0.0
    5  1.0  0.0  0.0  1.0
    

    如果你需要 int

    df1.add(df2,fill_value=0).fillna(0).astype(int)
    Out[242]: 
       0  1  2  5
    0  2  1  1  1
    1  1  1  1  0
    2  1  1  1  0
    5  1  0  0  1
    

    【讨论】:

    • 要将值返回为整数,您可以使用df_results.applymap(int)
    【解决方案2】:
    import numpy as np
    import pandas as pd
    
    A = pd.DataFrame(np.ones(9).reshape(3, 3))
    B = pd.DataFrame(np.ones(4).reshape(2, 2), columns=[0, 5], index=[0, 5])
    
    A.add(B, fill_value=0).fillna(0)
    
    [Out]
        0       1       2       5
    0   2.0     1.0     1.0     1.0
    1   1.0     1.0     1.0     0.0
    2   1.0     1.0     1.0     0.0
    5   1.0     0.0     0.0     1.0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-20
      • 2022-10-14
      • 2016-11-23
      • 2016-01-17
      • 1970-01-01
      • 1970-01-01
      • 2017-07-21
      • 1970-01-01
      相关资源
      最近更新 更多