【发布时间】:2023-04-03 19:28:01
【问题描述】:
我有一个数据框 df,其中包含“col1”和“col2”列。我想创建第三列,它使用其中一列作为指数函数。
df = df.withColumn("col3", 100**(df("col1")))*df("col2")
但是,这总是会导致:
TypeError:** 或 pow() 不支持的操作数类型:'float' 和 'Column'
我知道这是因为函数将 df("col1") 作为“列”而不是该行的项目。
如果我执行
results = df.map(lambda x : 100**(df("col2"))*df("col2"))
这可行,但我无法附加到我的原始数据框。
有什么想法吗?
这是我第一次发帖,所以对于任何格式问题,我深表歉意。
【问题讨论】:
标签: python apache-spark pyspark