python – 使用聚合列值合并具有不同列名的Dataframe

合并两个数据帧:我有两个数据帧需要合并一些标准,但我还没有弄清楚如何做到这一点?

df1 : 

id            positive_action    date             volume  
id_1          user 1                  2016-12-12       19720.735
              user 2                  2016-12-12       14740.800

df2 :
id            negative_action        date             volume  
id_1          user 1                  2016-12-12       10.000
              user 3                  2016-12-12       10.000     

I want : 

id            action        date             volume  
id_1          user 1         2016-12-12       19730.735
              user 2         2016-12-12       14740.800   
              user 3         2016-12-12       10.000 

这里

>卷跨两个数据帧聚合
>合并ID,日期和(积极行动和消极行动合并在一起)

我如何实现这一目标?

最佳答案 在将positive_action和negative_action列重命名为action之后,您还可以连接DataFrame,然后执行groupby.

df1.rename(columns={'positive_action':'action'}, inplace=True)
df2.rename(columns={'negative_action':'action'}, inplace=True)
pd.concat([df1, df2]).groupby(['id', 'action', 'date']).sum().reset_index()


     id  action        date     volume
0  id_1  user 1  2016-12-12  19730.735
1  id_1  user 2  2016-12-12  14740.800
2  id_1  user 3  2016-12-12     10.000
点赞