【问题标题】:Imputate Nan for categorical data depending on its "Type" column [duplicate]根据其“类型”列为分类数据估算 Nan [重复]
【发布时间】:2021-11-26 12:00:14
【问题描述】:

我有两列名称和信号的数据框。我想在 Signal 列中填写 nan 值,但应该根据其名称来完成。我想根据它的名称用最常见的值来估算它。例如:

Timestamp   Name  Signal
 2021-01-01  A.     On
 2021-01-02. A      nan
 2021-01-03. A.     On 
 2021-01-01. B.     Off
 2021-01-02. B.     Off
 2021-01-03. B.     nan

对于 name A 的 Signal 列的 nan 值,因为它是最常见的值,所以应该填充为“On”,但对于 Name B,它应该填充为 Off,因为它是 B 的最常见的值。

我怎样才能实现它?

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:
    df = df.groupby('Name').apply(lambda x: x.fillna(x['Signal'].value_counts().index[0]))
    

    输出:

    >>> df
        Timestamp Name Signal
    0  2021-01-01    A     On
    1  2021-01-02    A     On
    2  2021-01-03    A     On
    3  2021-01-01    B    Off
    4  2021-01-02    B    Off
    5  2021-01-03    B    Off
    

    【讨论】:

      猜你喜欢
      • 2018-12-27
      • 1970-01-01
      • 2018-02-15
      • 2021-12-20
      • 1970-01-01
      • 1970-01-01
      • 2020-01-06
      • 2018-12-29
      • 1970-01-01
      相关资源
      最近更新 更多