I have dataframe which should be filled by understanding rows understanding like we do in excel. If its continious integer it fill by next number itself.
Is there any function in python like this?
import pandas as pd
d = { 'year': [2019,2020,2019,2020,np.nan,np.nan], 'cat1': [1,2,3,4,np.nan,np.nan], 'cat2': ['c1','c1','c1','c2',np.nan,np.nan]}
df = pd.DataFrame(data=d)
df
year cat1 cat2
0 2019.0 1.0 c1
1 2020.0 2.0 c1
2 2019.0 3.0 c1
3 2020.0 4.0 c2
4 NaN NaN NaN
5 NaN NaN NaN
output required:
year cat1 cat2
0 2019.0 1.0 c1
1 2020.0 2.0 c1
2 2019.0 3.0 c1
3 2020.0 4.0 c2
4 2019.0 5.0 c2 #here can be ignored if it can't understand the earlier pattern
5 2020.0 6.0 c2 #here can be ignored if it can't understand the earlier pattern
I tried df.interpolate(method='krogh') #it fill 1,2,3,4,5,6 but incorrect others.
from How to fillna in pandas dataframe based on pattern like in excel dragging?
No comments:
Post a Comment