Skip to content Skip to sidebar Skip to footer

Python(Pandas) Fills Blanks Cells

I am using Python(Pandas) to manipulate high frequency data. Basically, I need to fill the blank cells. If the this row is blank, then this row will be filled in with the previous

Solution 1:

Use fillna() property. You can specify the method as forward fill as follows

import pandas as pd
data = pd.read_csv('sample.csv')
data = data.fillna(method='ffill') # This one forward fills all the columns.
# You can also apply to specific columns as below
# data[['bid','ask']] = data[['bid','ask']].fillna(method='ffill')
print data
    Time  bid      ask    
0  15:00  NaN      NaN
1  15:00  NaN      NaN
2  15:02   76      NaN
3  15:02   76       77
4  15:03   76       77
5  15:03   78       77
6  15:04   78       77
7  15:05   78       80
8  15:05   78       80
9  15:05   78       80

Solution 2:

There is the lesser known ffill method:

In [102]:
df.ffill()

Out[102]:
    Time  bid  ask
0  15:00  NaN  NaN
1  15:00  NaN  NaN
2  15:02   76  NaN
3  15:02   76   77
4  15:03   76   77
5  15:03   78   77
6  15:04   78   77
7  15:05   78   80
8  15:05   78   80
9  15:05   78   80

Post a Comment for "Python(Pandas) Fills Blanks Cells"