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

表一:

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']})
后面怎么做啊?谢谢

在pandas中使用concat,merge,join都可以进行数据框合并。实现代码如下:

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)

运行结果:

name  point  money
0   A0     10     20
1   A1     20     20
2   A2     30      0
3   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']})
d = {k:0 for k in df1['name']}
for k,v in zip(df2['name'],df2['money']):
    d[k] += int(v)
df3 = pd.DataFrame(df1)
df3['moneey'] = d.values()
print(df3)