根据条件填充Nan值

时间:2020-04-21 23:29:10

标签: python-3.x pandas dataframe

我正在处理/处理缺失值。我正在使用力大无比的数据集,并试图基于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)

UserWarning:布尔系列键将被重新索引以匹配DataFrame索引。

我想产生以下结果:


           Pclass   Age

             3      22.0
             3      23.0
             2      28.0
             1      21.0
             1      38.0


谢谢

1 个答案:

答案 0 :(得分:1)

让我们做

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