【问题标题】:Replace all values of a column in a dataframe with pyspark用 pyspark 替换数据框中列的所有值
【发布时间】:2016-03-30 15:52:29
【问题描述】:

我希望用特定值替换 spark 数据框中列的所有值。我正在使用 pyspark。我尝试了类似的东西 -

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

这里我想将column_name列中的所有值替换为10。在熊猫中,这可以通过 df['column_name']=10。我不知道如何在 Spark 中做同样的事情。

【问题讨论】:

    标签: python apache-spark pyspark spark-dataframe


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您可以使用UDF 替换该值。但是,您可以使用柯里化来支持不同的值。

      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")))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-07-07
        • 2018-02-21
        • 1970-01-01
        • 2018-03-09
        • 1970-01-01
        • 2020-01-08
        • 1970-01-01
        • 2022-01-10
        相关资源
        最近更新 更多