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

Koalas/Pandas-on-Spark运行报TypeError: str object is not callable

报错原因结论

列数据类型为<U0不是触发该TypeError: str object is not callable报错的原因。

  • <U0是小端序0长度Unicode字符串的类型标识,属于Spark/Koalas类型推断时生成的特殊字符串类型,只会引发值匹配、聚合结果不符合预期的逻辑问题,不会触发「对象不可调用」类的类型错误。
  • 报错的核心原因是你当前使用的Koalas版本,不支持向groupby().transform()传入字符串形式的聚合函数名:你写的.transform('sum')中传入的'sum'是字符串类型,Koalas执行逻辑时会尝试把这个字符串当做可调用函数运行,自然就抛出了字符串不能被调用的错误。
修复方法

将字符串形式的聚合参数替换为直接调用对应聚合方法即可,修正后的代码如下:

# 生成时间是否为目标值的布尔标记
is_target_time = df.time.eq('00:00:00')
# 按车辆ID分组后直接调用.sum()方法做transform聚合,不要传入'sum'字符串
target_time_count = is_target_time.groupby(df.vehicle_id).transform.sum()
# 过滤得到最终结果
result_df = df[~(target_time_count >= 2)]

额外提示:如果后续排查发现<U0类型引发值匹配失效(比如列中明明存在'00:00:00'的值却匹配不到),可以通过df = df.astype({'time': str, 'vehicle_id': str})显式将两列转换为标准字符串类型,修正隐式类型推断带来的异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 20:42:17