How to replace NaNs by preceding values in pandas DataFrame?

前端 未结 9 2201
無奈伤痛
無奈伤痛 2020-11-22 06:04

Suppose I have a DataFrame with some NaNs:

>>> import pandas as pd
>>> df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, N         


        
9条回答
  •  天涯浪人
    2020-11-22 06:55

    Just agreeing with ffill method, but one extra info is that you can limit the forward fill with keyword argument limit.

    >>> import pandas as pd    
    >>> df = pd.DataFrame([[1, 2, 3], [None, None, 6], [None, None, 9]])
    
    >>> df
         0    1   2
    0  1.0  2.0   3
    1  NaN  NaN   6
    2  NaN  NaN   9
    
    >>> df[1].fillna(method='ffill', inplace=True)
    >>> df
         0    1    2
    0  1.0  2.0    3
    1  NaN  2.0    6
    2  NaN  2.0    9
    

    Now with limit keyword argument

    >>> df[0].fillna(method='ffill', limit=1, inplace=True)
    
    >>> df
         0    1  2
    0  1.0  2.0  3
    1  1.0  2.0  6
    2  NaN  2.0  9
    

提交回复
热议问题