import pandas as pd
import numpy as np
data = pd.DataFrame({
'a': [np.nan, 1, np.nan, 2, 3, np.nan, 4],
'b': [0, 0, 1, 1, 1, 1, 0]
})
data_0 = data[data['b'] == 0]
data_1 = data[data['b'] == 1]
# 均值填充
data_0.fillna(data_0.mean(), inplace = True)
data_1.fillna(data_1.mean(), inplace = True)
data_new = pd.concat([data_0, data_1]).sort_index()