在Python中失去分组依据列

时间:2019-10-02 01:51:47

标签: python dataframe pandas-groupby fillna

在其中一个数据帧中,我将空值与其他值的平均值基于分组依据填充

假设我的数据框是这样的

Month  Dayname  Class  Val1  Val2
Sep    Mon      A      1     2
Sep    Mon      B      3     4
Sep    Tue      A      7     5
Oct    Mon      F      5     2
Oct    Fri      K      2     8
Oct    Fri      F      7     3
Sep    Mon      A      NaN   NaN
Sep    Mon      B      NaN   NaN
Oct    Fri      F      NaN   NaN

当我使用此代码时,它会正确更新NaN,

df = df.groupby(['Month','Dayname']).transform(lambda x: x.fillna(x.mean()))

但是它会按 Month&Dayname

列删除分组

最终结果将是这样

  Class  Val1  Val2
  A      1     2
  B      3     4
  A      7     5
  F      5     2
  K      2     8
  F      7     3
  A      2     3
  B      2     3
  F      4.5   5.5

如何通过保持按列分组来实现这一行

0 个答案:

没有答案