如何将属于df2中另一个值的df1中的值相加?
我有一个很大的df,但是我们假设我有一个这样的df:
df1:
A B C
0 John Pen Apple
1 John Printer Pie
2 John Charger Burger
3 Erick Battery Pizza
4 Mandy Keyboard Bread
5 Mandy Phone Coffee
6 David Computer Coke
和另一个df:
df2:
A B
0 Pen 2
1 Printer 5
2 Charger 11
3 USB 5
4 Keyboard 8
5 Phone 21
6 Cup 3
和第三个df:
df3:
A B
0 Erick Yes
1 John Yes
2 David No
3 Mandy Yes
4 Jared No
5 Lisa No
我想对df3
中的新列中的匹配值求和My desired df:
A B Sum
0 Erick Yes
1 John Yes 18
2 David No
3 Mandy Yes 29
4 Jared No
5 Lisa No
我该怎么做?
您可以使用merge
:
df = pd.merge(df1, df2, left_on='B', right_on='A', suffixes=('','1'))
df = df.groupby('A', as_index=False)['B1'].sum()
df = pd.merge(df3, df, on='A', how='left').rename(columns={'B1':'Sum'})
#if need remove NaN
df.Sum.fillna('', inplace=True)
print (df)
A B Sum
0 Erick Yes
1 John Yes 18
2 David No
3 Mandy Yes 29
4 Jared No
5 Lisa No