1

I want to copy a value in a dataframe uptil next NaN.

Here is the dataframe I have:

               Description
0              091SS16 GASOILA THREAD SEALANT
1              NaN
2              NaN
3              NaN
4              NaN
5              NaN
6              NaN
7              3M07447 SCOTCH BRITE PAD
8              NaN
9              NaN
10             NaN
11             NaN
12             NaN
13             NaN
14             NaN
15             600B 6" BUNA-N GASKET

And this is my expected output:

Description
0              091SS16 GASOILA THREAD SEALANT
1              091SS16 GASOILA THREAD SEALANT
2              091SS16 GASOILA THREAD SEALANT
3              091SS16 GASOILA THREAD SEALANT
4              091SS16 GASOILA THREAD SEALANT
5              091SS16 GASOILA THREAD SEALANT
6              091SS16 GASOILA THREAD SEALANT
7              3M07447 SCOTCH BRITE PAD
8              3M07447 SCOTCH BRITE PAD
9              3M07447 SCOTCH BRITE PAD
10             3M07447 SCOTCH BRITE PAD
11             3M07447 SCOTCH BRITE PAD
12             3M07447 SCOTCH BRITE PAD
13             3M07447 SCOTCH BRITE PAD
14             3M07447 SCOTCH BRITE PAD
15             600B 6" BUNA-N GASKET

Kindly help. Thank you!

Venkatesh Malhotra
  • 261
  • 1
  • 3
  • 14

2 Answers2

1

You need fillna with ffill:

df.fillna(ffill)
Sociopath
  • 13,068
  • 19
  • 47
  • 75
0

df.fillna(value = 'anyvalue') will fill the nulls with a specified value

df.fillna(method = 'ffill')

ffill lets to forward fill value till the next not null value

There is also

bfill - lets you backfill value till the not null value before it

nearest - fills Nan with nearest non null value

df.fillna(method = 'ffill', inplace = True) inplace changes the value of your df inplace

Bane
  • 484
  • 3
  • 13