pandas df after fillna() is still NaN -
a 40000 rows 1 column data saved excel. there hundred null values in it. such row 361... when carried out df.fillna(method='bfill'), nan values still nan. if sliced df fragment contained null values, processed expectently. tried still not fill nan cells. what's wrong it? df file here:
df=pd.read_execel('npp.xlsx') df.fillna(method='bfill') print( df.iloc[360:370,] ) out[122]: 0 t360 nan t361 nan t362 nan t363 nan t364 220.50 t365 228.59 t366 nan t367 nan t368 nan t369 nan when apply fillna() on sliced df, nan values replaced:
print( df.iloc[360:370,].fillna(method='bfill') ) 0 t360 220.50 t361 220.50 t362 220.50 t363 220.50 t364 220.50 t365 228.59 t366 nan t367 nan t368 nan t369 nan
you need assign output:
df = pd.read_excel('npp.xlsx') df = df.fillna(method='bfill') df = df[df[0].isnull()] print (df) empty dataframe columns: [0] index: [] or use inplace=true parameter:
df = pd.read_excel('npp.xlsx') df.fillna(method='bfill', inplace=true) df = df[df[0].isnull()] print (df) empty dataframe columns: [0] index: [] or shorter:
df = df.bfill() df.bfill(inplace=true)
Comments
Post a Comment