2つのデータフレームがあります
df1
Name class value
Sri 1 5
Ram 2 8
viv 3 4
df2
Name class value
Sri 1 5
viv 4 4
私の望ましい出力は、
df,
Name class value
Sri 2 10
Ram 2 8
viv 7 8
助けてください、事前に感謝します!
必要だと思います set_index
DataFrame
s、 add
および最後の reset_index
:
df = df1.set_index('Name').add(df2.set_index('Name'), fill_value=0).reset_index()
print (df)
Name class value
0 Ram 2.0 8.0
1 Sri 2.0 10.0
2 viv 7.0 8.0
Name
の値が一意でない場合は、groupby
を使用して集計sum
を使用します。
df = df1.groupby('Name').sum().add(df2.groupby('Name').sum(), fill_value=0).reset_index()