猿问

为什么 DataFrame 中的这个替换没有按照我的意图进行?

我正在尝试将 NaN 替换train_df为dff. 我不明白我做错了什么。


train_df.replace(to_replace = train_df["Age"].values , 

                 value = dff["Age"].values , 

                 inplace = True , 

                 regex = False , 

                 limit = None)


dff.Age.mean()

输出:30.128401985359698


train_df.Age.mean()

输出:28.96758312013303


莫回无
浏览 124回答 1
1回答

达令说

train_df您不仅替换了NaN.replace文档说:用值替换 to_replace 中给定的值。如果你只是想替换NaN你应该看看fillna或者你可以使用 indexing with isna.fillna文档isna文档示例与 fillnadf1 = pd.DataFrame({"a": [1, 2, np.nan, 4]})df2 = pd.DataFrame({"a": [5, 5, 3, 5]})df1.fillna(df2, inplace=True)以 isna 为例df1[pd.isna(df1)] = df2结果>> df1   a0  1.01  2.02  3.03  4.0
随时随地看视频慕课网APP

相关分类

Python
我要回答