簡體   English   中英

用pyspark替換數據框中列的所有值

[英]Replace all values of a column in a dataframe with pyspark

我希望用特定值替換spark數據幀中列的所有值。 我正在使用pyspark。 我試過像 -

new_df = df.withColumn('column_name',10)

在這里,我想將列column_name中的所有值替換為10 在pandas中,這可以通過df['column_name']=10 我無法弄清楚如何在Spark中做同樣的事情。

您可以使用UDF替換該值。 但是,您可以使用currying來支持不同的值。

from pyspark.sql.functions import udf, col

def replacerUDF(value):
    return udf(lambda x: value)

new_df = df.withColumnRenamed("newCol", replacerUDF(10)(col("column_name")))

使用lit可能更容易,如下所示:

from pyspark.sql.functions import lit
new_df = df.withColumn('column_name', lit(10))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM