为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

莫回无 2023-02-07 13:58:29
我正在尝试将 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.128401985359698train_df.Age.mean()输出:28.96758312013303
查看完整描述

1 回答

?
达令说

TA贡献1821条经验 获得超6个赞

train_df您不仅替换了NaN.

replace文档说:

用值替换 to_replace 中给定的值。

如果你只是想替换NaN你应该看看fillna或者你可以使用 indexing with isna.

fillna文档

isna文档

示例与 fillna

df1 = 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

   a

0  1.0

1  2.0

2  3.0

3  4.0


查看完整回答
反对 回复 2023-02-07
  • 1 回答
  • 0 关注
  • 123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号