天天看點

python groupby填充缺失值_填充python pandas中groupby後面的列中缺少的行

您需要^{}由^{}建立的新index,然後由第一級Column A和^{}按mean建立:df = df.groupby(['Column A','Column B'])['Result'].mean()

mux = pd.MultiIndex.from_product([df.index.get_level_values(0).unique(),

np.arange(1,10)], names=('Column A','Column B'))

df = df.reindex(mux)

df = df.groupby(level='Column A').apply(lambda x: x.fillna(x.mean()))

print (df)

Column A Column B

1 1 2.60

2 2.75

3 2.75

4 2.90

5 2.75

6 2.75

7 2.75

8 2.75

9 2.75

2 1 9.30

2 9.30

3 9.30

4 9.30

5 9.30

6 9.30

7 9.30

8 9.30

9 9.30

3 1 1.20

2 1.20

3 1.20

4 1.20

5 1.20

6 1.20

7 1.20

8 1.20

9 1.20

Name: Result, dtype: float64