在选择2列或更多列时添加数据帧

2024-04-25 10:23:52 发布

您现在位置:Python中文网/ 问答频道 /正文

当有两个相同列的数据帧时,如何选择特定列并添加数据帧

熊猫中的数据帧如下所示

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数据帧作为

B

C数据帧作为

C


Tags: 数据dataframevalcol2col3col1pd下文
1条回答
网友
1楼 · 发布于 2024-04-25 10:23:52

我认为您需要^{}然后对最后一列求和:

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

相关问题 更多 >