繁体   English   中英

python pandas 添加 2 dataframe 与特定列

[英]python pandas adding 2 dataframe with specific column

我有 2 个 dataframe 一个看起来像这样:

      Date     id    name    amount    period   
2011-06-30      1       A     10000         1
2011-06-30      2       B     10000         1
2011-06-30      3       C     10000         1

另一个看起来像这样:

id   amount    period   
 1    10000         1
 3    10000         0

我想要的结果是这样的:

id     amount    period   
 1      20000         2
 2      10000         1
 3      20000         1

我怎么能在 python pandas 中做到这一点?

concat与带有聚合sum的过滤列一起使用:

df = pd.concat([df1[['id','amount','period']], df2]).groupby('id', as_index=False).sum()
print (df)
   id  amount  period
0   1   20000       2
1   2   10000       1
2   3   20000       1

编辑:

如果需要通过id减去为id创建索引,然后使用DataFrame.sub

df11 = df1[['id','amount','period']].set_index('id')
df22 = df2.set_index('id')

df3 = df11.sub(df22, fill_value=0).reset_index()
print (df3)
   id   amount  period
0   1      0.0     0.0
1   2  10000.0     1.0
2   3      0.0     1.0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM