• 全部
  • 7天学习
  • 问题求助
  • 公开课
  • 博文广场
  • 精选专栏
  • 公告栏
  • 电子书
  • 代码块
  • Python技能树

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

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']})

求助后面怎么做啊?谢谢

 

...全文
151 点赞 收藏 1
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
gzpcgreen 08-13

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)

回复 1
相关推荐
发帖
Python全栈技术社区
创建于2020-11-25

5917

社区成员

创建由Python学习者和社区专家组成的国内最大的第三方Python中文社区,帮助社区成员更好地入门学习、职业成长和应用实践
帖子事件
创建了帖子
2021-08-13 01:19
社区公告

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

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

【最新活动】:

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