Pandas: filling missing values by mean in each group

前端 未结 9 1100
耶瑟儿~
耶瑟儿~ 2020-11-22 06:06

This should be straightforward, but the closest thing I\'ve found is this post: pandas: Filling missing values within a group, and I still can\'t solve my problem....

<
9条回答
  •  不要未来只要你来
    2020-11-22 06:52

    One way would be to use transform:

    >>> df
      name  value
    0    A      1
    1    A    NaN
    2    B    NaN
    3    B      2
    4    B      3
    5    B      1
    6    C      3
    7    C    NaN
    8    C      3
    >>> df["value"] = df.groupby("name").transform(lambda x: x.fillna(x.mean()))
    >>> df
      name  value
    0    A      1
    1    A      1
    2    B      2
    3    B      2
    4    B      3
    5    B      1
    6    C      3
    7    C      3
    8    C      3
    

提交回复
热议问题