【问题标题】:Creating a function to set 'nan' values创建一个函数来设置“nan”值
【发布时间】:2021-10-13 12:20:40
【问题描述】:

我正在尝试创建一个函数来设置特定列的 nan 值,如下所示:

 def set_nan_for_specific_column(table, column):
    result = table[str(column)] = np.nan
    return result

merged_table['code'] = set_nan_for_specific_column(merged_table, code)

我收到以下错误:

 NameError: name 'code' is not defined

有什么建议吗?

【问题讨论】:

  • 你正在调用你的函数传递代码,这是你之前没有定义的。

标签: python pandas function merge


【解决方案1】:

据我所知,问题出在这一行:

merged_table['code'] = set_nan_for_specific_column(merged_table, code) 

确实,您将参数code 提供给函数,该参数以前从未定义过,然后导致错误。即使您之后更改code的dtype以获取'col'以便从您的df中选择名为code的列,当调用函数set_nan_for_specific_column时,它也会搜索一个名为col的变量,它不存在。

【讨论】:

    【解决方案2】:

    未定义我放在星号之间的参数代码:

        merged_table['code'] = set_nan_for_specific_column(merged_table, **code**)
    

    此外,请注意,通过这种方式,您将向数据框中添加两个新列。一个是“代码”,另一个是变量代码中包含的值。 例如:

        code = "z"
        df['code'] = set_nan_for_specific_column(df, code)
    

    将为您提供以下 2 个新列: z 和 code

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-12
      • 2014-06-07
      • 1970-01-01
      • 2021-05-10
      • 1970-01-01
      相关资源
      最近更新 更多