,可以使用withColumn函数结合when和otherwise函数来实现。
首先,使用withColumn函数创建一个新的列,并使用when和otherwise函数来定义填充逻辑。when函数接受一个条件表达式和一个值,当条件表达式为真时,将该值填充到新列中;otherwise函数接受一个值,表示当条件表达式为假时,将该值填充到新列中。
以下是一个示例代码:
from pyspark.sql import SparkSession
from pyspark.sql.functions import when
# 创建SparkSession
spark = SparkSession.builder.getOrCreate()
# 创建示例DataFrame
data = [("Alice", 25, None),
("Bob", 30, "Engineer"),
("Charlie", None, "Scientist")]
df = spark.createDataFrame(data, ["Name", "Age", "Profession"])
# 动态填充Age列中的空值
df = df.withColumn("Age", when(df.Age.isNull(), 0).otherwise(df.Age))
# 显示结果
df.show()
在上述示例中,我们使用withColumn函数创建了一个新的列"Age",并使用when和otherwise函数来填充该列中的空值。当Age列的值为null时,将其填充为0;否则保持原值不变。
输出结果如下:
+-------+---+----------+
| Name|Age|Profession|
+-------+---+----------+
| Alice| 25| null|
| Bob| 30| Engineer|
|Charlie| 0| Scientist|
+-------+---+----------+
这样,我们就实现了在pyspark dataframe中动态填充列中的行的需求。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云