qwer
qwer

Reputation: 11

Join two dataframe into one and fill the missing gaps

Here is the first df:

index   name
4        a
8        b
10       c

Here is the second df:

index   name
4        d
5        d
6        d
7        d
8        e
9        e
10       f

Is there a way to join them as below df?

index   name1    name2        
4        a         d
5        a         d
6        a         d
7        a         d
8        b         e
9        b         e
10       c         f

Basically join two df base on index, then auto fill the gap on name1 base on the first value.

Upvotes: 0

Views: 46

Answers (1)

Naveed
Naveed

Reputation: 11650

# merge the two DF based on the index, and ffill null values
df2=df2.merge(df, on='index', how='left', suffixes=(['2','1'])).ffill()

# reindex the columns
df2.reindex(sorted(df2.columns), axis=1)


    index   name1   name2
0       4       a   d
1       5       a   d
2       6       a   d
3       7       a   d
4       8       b   e
5       9       b   e
6       10      c   f

Upvotes: 2

Related Questions