当有2个相同列的数据帧时,如何选择特定列并添加数据帧?
pandas中的数据帧如下
a_val = {'col1': [1, 2], 'col2': [3, 4], 'col3': [7, 8]}
b_val = {'col1': [1, 5, 2], 'col2': [3, 2, 4], 'col3': [7, 17, 33]}
a = pd.DataFrame(a_val)
b = pd.DataFrame(b_val)
如何使结果数据框 C (请参阅下面的预期结果 C )
例如,我将 A 数据框设为
B 数据框为
C 数据框为
答案 0 :(得分:1)
我认为你需要merge
然后总结最后一栏:
c = pd.merge(a,b, on=['col1', 'col2'], suffixes=('','_'))
.assign(col3=lambda x: x.col3 + x.col3_).drop('col3_', 1)
与...相同:
c = pd.merge(a,b, on=['col1', 'col2'], suffixes=('','_'))
c.col3 = c.col3.add(c.col3_)
c = c.drop('col3_', 1)
print (c)
col1 col2 col3
0 1 3 14
1 2 4 41