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

解决DataFrame应用函数时'Series' object has no attribute 'tax_code'错误

问题解决方法

错误原因

你遇到的'Series' object has no attribute 'tax_code'错误,本质是两个核心问题:

  • df.apply(valid)默认按列处理数据(axis=0),此时传入valid的参数是列对应的Series,而你在函数里错误直接引用全局df的tax_code列,且误用了库的方法调用逻辑。
  • codicefiscale.is_valid()是需要传入单个税号字符串的独立函数,并非Series的属性方法。

修正后的代码

步骤1:正确定义验证函数

把库的导入放在函数外部(避免重复导入),让函数接收每行数据作为参数,提取对应tax_code值后验证:

from codicefiscale import codicefiscale

def valid(row):
    # 从当前行提取tax_code字段值
    tax_code = row['tax_code']
    # 调用库的验证函数判断有效性
    if codicefiscale.is_valid(tax_code):
        return "It's Valid"
    else:
        return "Not Valid"

步骤2:指定axis=1执行apply

通过axis=1让apply按行处理数据,将每行作为参数传入valid函数:

df["Is Valid"] = df.apply(valid, axis=1)

更高效的简化写法(可选)

如果数据量较大,逐行apply效率偏低,可以直接对tax_code列做元素级处理:

from codicefiscale import codicefiscale

df["Is Valid"] = df['tax_code'].apply(
    lambda x: "It's Valid" if codicefiscale.is_valid(x) else "Not Valid"
)

这种写法直接针对tax_code列的每个字符串验证,代码更简洁且执行效率更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:25:34