I have 2 dataframes. I want to update the 1st dataframe(df1) by adding the column values w.r.t A from 2nd dataframe(df2). I have already created new column(C) at the index(which will be a variable).
df1
JavaScript
x
8
1
A B
2
3
100 3454
4
150 2343
5
200 7655
6
250 3454
7
300 4565
8
df2
JavaScript
1
8
1
A C
2
3
200 4565
4
250 6647
5
300 9865
6
350 4653
7
400 0776
8
result df
JavaScript
1
12
12
1
A B C
2
3
100 3454
4
150 2343
5
200 7655 4565
6
250 3454 6647
7
300 4565 9865
8
350 4653
9
400 0776
10
11
12
Advertisement
Answer
You need an outer join:
JavaScript
1
17
17
1
df1 = pd.DataFrame({'A': {0: 100, 1: 150, 2: 200, 3: 250, 4: 300},
2
'B': {0: 3454, 1: 2343, 2: 7655, 3: 3454, 4: 4565}})
3
df2 = pd.DataFrame({'A': {0: 200, 1: 250, 2: 300, 3: 350, 4: 400},
4
'C': {0: 4565, 1: 6647, 2: 9865, 3: 4653, 4: 776}})
5
6
7
df1.merge(df2, on=["A"], how="outer")
8
9
A B C
10
0 100 3454.0 NaN
11
1 150 2343.0 NaN
12
2 200 7655.0 4565.0
13
3 250 3454.0 6647.0
14
4 300 4565.0 9865.0
15
5 350 NaN 4653.0
16
6 400 NaN 776.0
17