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

在 python 中定义一个函数,使 NaN 值为零,参数数量可变

在 python 中定义一个函数,使 NaN 值为零,参数数量可变

HUWWW 2022-04-23 21:22:26
我正在尝试定义一个函数,该函数可以Nan在输入数据帧的所有列的所有值中填充零。该函数采用 1 个固定参数(数据帧名称)和可变数量的参数作为数据帧中的列名。我正在使用下面的代码 -def makeNa(df,*colnames):    for col in colnames:        return df.fillna({col:0},inplace=True)该函数在我仅传递一个列名时起作用,例如makeNa(df_test,'USA')- 它使列“USA”的所有 Nan 值为零,但在输入多个列名时该函数不起作用,例如makeNa(df_test,'USA','Japan')- > 它不会将 Nan 值归零“日本”栏目
查看完整描述

2 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞


你不要让循环结束,你会在第一次迭代时返回。您可以执行以下操作:


def makeNa(df, *colnames):

    df[colnames] = df[colnames].filna(0)

    return df


查看完整回答
反对 回复 2022-04-23
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

def makeNa(df,*colnames):

    for col in colnames:

        df.fillna({col:0},inplace=True)

    return df

您正在返回 for loop ,而不是尝试返回外部。


查看完整回答
反对 回复 2022-04-23
  • 2 回答
  • 0 关注
  • 182 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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