修改/更新 pyspark 列值
Posted
技术标签:
【中文标题】修改/更新 pyspark 列值【英文标题】:Modify/Update pyspark colum values 【发布时间】:2020-05-12 06:52:54 【问题描述】:我想修改列值如下。 如果列值为“BALL-KG”,我想将该值修改为“BALL”,否则,列值保持不变 输入列:
Name Product
John PIPE
Hema BALL-KG
Basha BALL-KG
Hari BALL
Bijju BAG
输出:
Name Product
John PIPE
Hema BALL
Basha BALL
Hari BALL
Bijju BAG
谢谢。
【问题讨论】:
与Pyspark replace strings in Spark dataframe column和replace values of one column in a spark df by dictionary key-values (pyspark)相关 一个简单的 when/otherwise 子句就足够了,我认为这个问题缺乏研究,但你去df.withColumn("Product", F.when(F.col("Product")=="BALL-KG",F.lit("BALL")).otherwise(F.col("Product")))
【参考方案1】:
尝试,假设df
是您的输入数据框:
Import PySpark.sql.functions as F
df=df.select(F.col("Name"), F.when(F.col("Product")==F.lit("BALL-KG"), F.lit("BALL")).otherwise(F.col("Product")).alias("Product"))
F.when(<condition>, <option_if_met>).otherwise (<if_not_met>)
它是 PySpark 中的 if
else
语法
【讨论】:
老实说 - 我从来没有将它用于lit
,我总是单独导入它,但你是对的 - 写这篇文章我确实需要它。谢谢!以上是关于修改/更新 pyspark 列值的主要内容,如果未能解决你的问题,请参考以下文章
PySpark DataFrame 根据另一列中时间戳值的最小/最大条件更新列值