Просто попробуйте использовать имя столбца без фрейма данных, или вы можете использовать функцию col
, но здесь вам нужно импортировать from pyspark.sql.functions import col
, а затем log(col("double_col"))
:
df = spark.createDataFrame([
(1.3 ,"s"),
(10.3 ,"t"),
(3.3 ,"x"),
(1.5 ,"u"),
(1.3 ,"v")
], ("double_col", "char"))
print df.schema
print df.withColumn("bla", log("double_col")).show()
Вывод:
StructType(List(StructField(double_col,DoubleType,true),StructField(char,StringType,true)))
+----------+----+-------------------+
|double_col|char| bla|
+----------+----+-------------------+
| 1.3| s|0.26236426446749106|
| 10.3| t| 2.33214389523559|
| 3.3| x| 1.1939224684724346|
| 1.5| u| 0.4054651081081644|
| 1.3| v|0.26236426446749106|
+----------+----+-------------------+