小编zdc*_*eng的帖子

Spark withColumn()执行电源功能

我有一个数据框df,列"col1"和"col2".我想创建第三列,使用其中一列作为指数函数.

df = df.withColumn("col3", 100**(df("col1")))*df("col2")
Run Code Online (Sandbox Code Playgroud)

但是,这总是会导致:

TypeError:**或pow()的不支持的操作数类型:'float'和'Column'

我知道这是由于函数将df("col1")作为"列"而不是该行的项目.

如果我表演

results = df.map(lambda x : 100**(df("col2"))*df("col2"))
Run Code Online (Sandbox Code Playgroud)

这是有效的,但我不能附加到我的原始数据框.

有什么想法吗?

这是我第一次发帖,所以我为任何格式问题道歉.

python apache-spark pyspark

5
推荐指数
1
解决办法
6531
查看次数

标签 统计

apache-spark ×1

pyspark ×1

python ×1