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

Pyspark执行sum()报'Column' object is not callable错误求解

错误原因

你使用的是PySpark的DataFrame操作逻辑,代码中生成的b是PySpark原生的Column类型对象,不是Pandas的布尔Series。PySpark的Column类没有可直接调用的sum()实例方法,直接执行b.sum()相当于把Column对象作为函数调用,就会触发'Column' object is not callable报错。

解决方法

你需要配合PySpark内置的聚合函数和DataFrame的聚合方法来统计符合条件的记录数,完整可运行的代码如下:

from pyspark.sql import functions as F

# 生成布尔判断列
b = t['testdate'] < F.lit('2017-02-01')
# 统计触发截断的记录总数:先把布尔值转成int(True=1、False=0)求和,再拉取本地结果
counts = t.agg(F.sum(b.cast('int'))).collect()[0][0]
# 完成日期截断生成新列
t = t.withColumn('testclipped', F.when(b, F.lit('2017-02-01')).otherwise(F.col('testdate')))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:27:07