我对pyspark非常陌生。
我有一个带有列ID
和BALANCE
的pyspark数据框。
我正在尝试将balance
列存储到100%(1-100%)的存储桶中,并计算每个存储桶中有多少ID。
我不能使用与RDD相关的任何东西,只能使用Pyspark语法。我已经尝试过以下代码
w = Window.orderBy(df.BALANCE)
test = df.withColumn('percentile_col',F.percent_rank().over(w))
我希望获得一个新列,该列可以自动计算BALANCE列中每个数据点的百分位数,而忽略缺失值。
答案 0 :(得分:0)
尝试一下。 我们首先检查df.Balance列是否具有Null值。如果它具有Null值,则显示无。否则,将应用percent_rank()函数。
pyspark.sql中的导入功能为F
w = Window.orderBy(df.BALANCE)
test = df.withColumn('percentile_col',when(df.BALANCE.isNull(),lit(None))。否则(F.percent_rank()。over(w)))