pythondataframe如何替换值_在python中,如何用DataFrame列的模式替换NA值?

我对Python(和这个网站)完全不熟悉,目前正在尝试用模式替换特定dataframe列中的NA值。我试过各种方法,但都不管用。请帮我找出我做错了什么:

注意:我使用的所有列都是float64类型。我所有的代码都在运行,但是当我用列中的df[cols_mode].isnull().sum()检查空值时,它保持不变。

方法1:cols_mode = ['race', 'goal', 'date', 'go_out', 'career_c']

df[cols_mode].apply(lambda x: x.fillna(x.mode, inplace=True))

我也试过输入法,但遇到了同样的结果

方法2:for column in df[['race', 'goal', 'date', 'go_out', 'career_c']]:

mode = df[column].mode()

df[column] = df[column].fillna(mode)

方法3:df['race'].fillna(df.race.mode(), inplace=True)

df['goal'].fillna(df.goal.mode(), inplace=True)

df['date'].fillna(df.date.mode(), inplace=True)

df['go_out'].fillna(df.go_out.mode(), inplace=True)

df['career_c'].fillna(df.career_c.mode(), inplace=True)

方法4:

我的方法越来越像是一个手动过程,最后这个方法起作用了:df['race'].fillna(2.0, inplace=True)

df['goal'].fillna(1.0, inplace=True)

df['date'].fillna(6.0, inplace=True)

df['go_out'].fillna(2.0, inplace=True)

df['career_c'].fillna(2.0, inplace=True)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值