0

Trying to combine two dataframes based on a common column of the two dataframes and searching for a while, but have no luck.

import pandas as pd
df1 = pd.DataFrame ([[1,0.3],[2,0.5]],columns = ['Day','Dev'])
df1
   Day  Dev
0    1   0.3
1    2   0.5
df2 = pd.DataFrame ([[1,0.4],[3,0.6]],columns = ['Day','Dev'])
df2
   Day  Dev
0    1   0.4
1    3   0.6

Intend to combine like this:

   Day  Dev1  Dev2
0    1   0.3   0.4
1    2   0.5   NaN
2    3   NaN   0.6

Any suggestions are welcome. Thanks.

Brom
  • 203
  • 1
  • 11
  • how about : df1 = pd.DataFrame([[1, 0.3], [2, 0.5]], columns=['Day', 'Dev']) df2 = pd.DataFrame([[1, 0.4], [3, 0.6]], columns=['Day', 'Dev']) res = pd.merge(df1, df2, on='Day', how='outer') print(res) – Vagner Dec 19 '22 at 12:38

2 Answers2

0

first question

example

df1 = pd.DataFrame ([[1,0.3],[2,0.5]],columns = ['Day','Dev1'])
df2 = pd.DataFrame ([[1,0.4],[3,0.6]],columns = ['Day','Dev2'])

ues merge

df1.merge(df2, how='outer')

Update

when column name is same:

example

df1 = pd.DataFrame ([[1,0.3],[2,0.5]],columns = ['Day','Dev'])
df2 = pd.DataFrame ([[1,0.4],[3,0.6]],columns = ['Day','Dev'])

code

out = df1.merge(df2, on='Day', suffixes=('1', '2'), how='outer')

out

    Day Dev1    Dev2
0   1   0.3     0.4
1   2   0.5     NaN
2   3   NaN     0.6
Panda Kim
  • 6,246
  • 2
  • 12
0

pd.merge(df1, df2, on=‘Day’, how=‘outer’)

Have a read about SQL joins to understand the how kwarg.

https://www.w3schools.com/sql/sql_join.asp