【问题标题】:filling Nan values based on conditions根据条件填充 Nan 值
【发布时间】:2020-04-21 23:29:10
【问题描述】:

我正在处理/处理缺失值。我正在使用 Titanic 数据集,并试图在 Pclass 值的基础上填充缺失值。

数据集:


           Pclass   Age

             3      Nan
             3      23.0
             2      Nan
             1      21.0
             1      Nan

这可能是一个愚蠢的疑问,但是在下面显示的这段代码中。我收到了所有 3 行的警告:

Data = pd.read_csv('train.csv')

Data.loc[Data.Pclass == 1][Data.Age.isnull()].fillna(38.0,inplace = True)
Data.loc[Data.Pclass == 2][Data.Age.isnull()].fillna(28.0,inplace = True)
Data.loc[Data.Pclass == 3][Data.Age.isnull()].fillna(22.0,inplace = True)

用户警告:布尔系列键将被重新索引以匹配 DataFrame 索引。

我想产生以下结果:


           Pclass   Age

             3      22.0
             3      23.0
             2      28.0
             1      21.0
             1      38.0


谢谢

【问题讨论】:

    标签: python-3.x pandas dataframe


    【解决方案1】:

    让我们做

    Data.Age=Data.Age.fillna(Data.Pclass.map({1:38,2:28,3:22})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-22
      • 2017-06-29
      • 2019-07-04
      • 2014-11-05
      • 2021-01-24
      • 2021-05-09
      • 1970-01-01
      • 2021-01-09
      相关资源
      最近更新 更多