0

I have a dataframe that looks like :

GroupID | Name
 1      | aaa
 2      | 
 2      | bbb
 1      | 
 1      | 

The idea would be to expand all Name values to every line with the same GroupID :

GroupID | Name
 1      | aaa
 2      | bbb
 2      | bbb
 1      | aaa
 1      | aaa

How would I do that easily ?

Arcyno
  • 4,153
  • 3
  • 34
  • 52

1 Answers1

1

You could use a dictionary:

dct = dict(df[~df['Name'].isna()].values)
df['Name'] = df['GroupID'].replace(dct)

   GroupID Name
0        1  aaa
1        2  bbb
2        2  bbb
3        1  aaa
4        1  aaa
Andreas
  • 8,694
  • 3
  • 14
  • 38