如何增加一个列,使得值为另一个表值的和

gzpcgreen 2021-08-13 01:19:33

表一:

 name  point
A0     10
 A1     20
 A2     30
A3     40

表二
  name money
 A0    10
 A1    10
 A0    10
 A1    10

 

现在想得到表三:

name  point  moneey
A0     10      20
 A1     20    20
 A2     30    0
A3     40    0

 

import pandas as pd
df1 = pd.DataFrame({'name': ['A0', 'A1', 'A2', 'A3'],
                    'point': [10, 20, 30, 40]})
df2 = pd.DataFrame({'name': ['A0', 'A1', 'A0', 'A1'],
                    'money': ['10', '10', '10', '10']})

求助后面怎么做啊?谢谢

 

...全文
281 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
gzpcgreen 2021-08-13
  • 打赏
  • 举报
回复 1

import pandas as pd
df1 = pd.DataFrame({'name': ['A0', 'A1', 'A2', 'A3'],
'point': [10, 20, 30, 40]})
df2 = pd.DataFrame({'name': ['A0', 'A1', 'A0', 'A1'],
'money': ['10', '10', '10', '10']})
df2.money=df2.money.apply(lambda x:int(x))
df2=df2.groupby(['name'])['money'].sum().to_frame().reset_index()
df=pd.concat([df1,df2['money']],axis=1).fillna(0)
df.money = df.money.apply(lambda x: int(x))
print(df)

11,877

社区成员

发帖
与我相关
我的任务
社区描述
创建由Python学习者和社区专家组成的国内最大的第三方Python中文社区,帮助社区成员更好地入门学习、职业成长和应用实践
python学习 企业社区
社区管理员
  • Python全栈技术社区
  • Lumos_zbj
  • 北侠大卫
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

创建由Python学习者和社区专家组成的国内最大的第三方Python中文社区,帮助社区成员更好地入门学习、职业成长和应用实践

  • 这里有最新最全的 Python 学习内容及资源,每月多达4次技术公开课
  • 这里有众多 Python 学习者,陪伴你一起交流成长
  • 这里有专业 Python 社区专家、讲师,帮助你跨越学习瓶颈,解决实操难题
  • 这里有丰富的社区活动,可以开阔眼界,结识更多同伴

【最新活动】:

  1. 周四技术公开课讲师招募中,点击查看详情
  2. “Python 社区专家团” 招募中,点击查看详情

 

试试用AI创作助手写篇文章吧