У меня есть следующее data.frame
в spark
import findspark
findspark.init()
from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()
sc = spark.sparkContext
from pyspark.sql import functions as sf
from pyspark.sql.functions import col, when, lit
ddf = spark.createDataFrame([[None, 'Michael',2],
[30, 'Andy',3],
[19, 'Justin',4],
[30, 'James Dr No From Russia with Love Bond',6]],
schema=['age', 'name','weights'])
ddf.show()
В этом тривиальном примере я хотел бы создать два столбца: один с weighted.mean
из age
, если age>29
(с именем weighted_age
) и другим age^2
, если age<=29
(с именем age_squared
)