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

Spark Scala转Python代码报错:'Column' object is not callable

错误原因及解决办法

错误原因

Spark的Scala API与Python API在Column方法命名上存在差异:Scala中用divide()实现列除法,但Python的Column对象并没有这个方法,你直接照搬Scala的方法名,就会触发TypeError: 'Column' object is not callable错误。

解决办法

Python中实现列除法有两种等价写法:

  • 使用除法运算符/(最简洁):
    col("Masse hydrique") / lit(100)
    
  • 使用Column类的div()方法:
    col("Masse hydrique").div(lit(100))
    

验证示例

可以用以下代码快速验证修复效果:

from pyspark.sql import SparkSession
from pyspark.sql.functions import col, lit

# 初始化Spark会话
spark = SparkSession.builder.appName("div_test").getOrCreate()
# 创建测试数据
test_df = spark.createDataFrame([(30,), (60,), (90,)], ["Masse hydrique"])
# 应用除法转换
result_df = test_df.withColumn("Masse hydrique_norm", col("Masse hydrique") / lit(100))
result_df.show()

输出结果会正常显示归一化后的数值:

+---------------+-----------------------+
|Masse hydrique|Masse hydrique_norm|
+---------------+-----------------------+
|             30|                   0.3|
|             60|                   0.6|
|             90|                   0.9|
+---------------+-----------------------+

内容的提问来源于stack exchange,提问作者Marc Le Bihan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 06:07:06