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

如何根据DataFrame的house列值为tax_home列填入1或0?

问题解决方法

你的代码存在几处错误导致无法运行:

  • 条件判断误用赋值符号=,应该用比较符号==
  • apply传入的函数参数是house列的单个值,你却直接操作整个DataFrame列df1['house']
  • 返回语句里的df1['tax_home'] = 1是赋值操作,不能作为返回值使用

修正后的apply写法

def set_tax_home(x):
    if x == "Own":
        return 1
    else:
        return 0

df1['tax_home1'] = df1['house'].apply(set_tax_home)

更高效的向量化实现(推荐)

相比apply,向量化操作速度更快,适合处理大数据集:

import numpy as np
df1['tax_home1'] = np.where(df1['house'] == "Own", 1, 0)

# 或者更简洁的写法
df1['tax_home1'] = (df1['house'] == "Own").astype(int)

内容的提问来源于stack exchange,提问作者Mat-mong

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 18:35:22