Function to replace NaN values in a dataframe with mean of the related column

后端 未结 3 343
甜味超标
甜味超标 2021-01-14 21:52

EDIT: This question is not a clone of pandas dataframe replace nan values with average of columns because I want to replace the value of each column with th

3条回答
  •  别那么骄傲
    2021-01-14 22:12

    You can also use fillna

    df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [2, np.nan, np.nan]})
    df.fillna(df.mean(axis=0))
        A   B
    0   1.0 2.0
    1   2.0 2.0
    2   1.5 2.0
    

    df.mean(axis=0) computes the mean for every column, and this is passed to the fillna method.

    This solution is on my machine, twice as fast as the solution using apply for the data set shown above.

提交回复
热议问题