You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何在函数内用变量列名筛选含空值的DataFrame行?

解决DataFrame变量列名筛选空值的问题

错误原因

你遇到的AttributeError是因为用**点号(.)**访问列时,Python会把col_name当作DataFrame的属性名(即寻找名为col_name的列),而不是解析你传入的字符串变量'col'。

修正方案

改用**方括号([])**访问列,方括号支持传入字符串变量指定列名,修正后的函数如下:

def get_missing_rows(df, col_name):
    # 用df[col_name]替代df.col_name,解析变量中的列名字符串
    return df[df[col_name].isnull()]

# 调用函数并赋值结果
missing_df = get_missing_rows(main_df, 'col')

额外优化说明

  • 原函数中传入的missing_df_name字符串参数毫无意义:函数内部赋值不会影响外部变量,直接返回结果后由外部赋值更合理。
  • 方括号访问是DataFrame列的通用方式:当列名包含空格、特殊字符,或需要动态指定列名时,必须使用方括号,点号仅适用于符合标识符规则的固定列名。

内容的提问来源于stack exchange,提问作者jPV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 02:22:02