train_data[(train_df['Survived']==1)&(train_df['Pclass']==1)&(train_df['Sex']=='female')]['Age'].replace(38,34.9, inplace=True)
当我使用这个代码时,DataFrame没有改变。我不明白为什么。
train_data.isnull().sum()
该代码仍然在该过滤部分中压印NaN值。
通过首先使用一个小数组,然后按顺序追加它们,问题得到了改进。该解决方案具有索引问题;
我将为此代码编写def。
newage = pd.DataFrame([])
newage = pd.concat((newage,a),axis=0,ignore_index=False,sort=True)
newage = pd.concat((newage,b),axis=0,ignore_index=False,sort=True)
newage = pd.concat((newage,c),axis=0,ignore_index=False,sort=True)
newage = pd.concat((newage,d),axis=0,ignore_index=False,sort=True)
newage = pd.concat((newage,e),axis=0,ignore_index=False,sort=True)
newage = pd.concat((newage,f),axis=0,ignore_index=False,sort=True)
newage = pd.concat((newage,g),axis=0,ignore_index=False,sort=True)
newage = pd.concat((newage,h),axis=0,ignore_index=False,sort=True)
newage = pd.concat((newage,j),axis=0,ignore_index=False,sort=True)
newage = pd.concat((newage,k),axis=0,ignore_index=False,sort=True)
newage = pd.concat((newage,l),axis=0,ignore_index=False,sort=True)
newage = pd.concat((newage,m),axis=0,ignore_index=False,sort=True)
newage
train_data["newage"] = newage
train_data.head(15)```