英文:
how to join and sum columns (of different lengths) in pandas?
问题
我有以下数据框:
df1
name value
a 3
b 4
c 5
df2
name value
b 2
a 1
我想要创建一个像这样的数据框(可以有许多值列):
name value
a 4
b 6
c 5
有人知道我应该如何做到这一点吗?
英文:
lets say I have the following dataframes
df1
name value
a 3
b 4
c 5
df2
name value
b 2
a 1
and I want to make a dataframe like this (there can be many value columns)
name value
a 4
b 6
c 5
Does anyone know how I would do this?
答案1
得分: 1
你可以暂时将 "name" 设置为索引:
df1.set_index('name').add(df2.set_index('name'), fill_value=0).reset_index()
输出结果:
name value
0 a 4.0
1 b 6.0
2 c 5.0
英文:
You can temporarily set "name" as index:
df1.set_index('name').add(df2.set_index('name'), fill_value=0).reset_index()
Output:
name value
0 a 4.0
1 b 6.0
2 c 5.0
答案2
得分: 1
df2.set_index("name").reindex(df1.name).fillna(0).astype(int)+df1.set_index("name")
英文:
df2.set_index("name").reindex(df1.name).fillna(0).astype(int)+df1.set_index("name")
out:
value
name
a 4
b 6
c 5
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论