在Pyspark中,我们可以使用withColumn
方法将列添加到DataFrame中,并使用when
和otherwise
函数将多个组分配给相应的行。
下面是一个完整的示例代码:
from pyspark.sql import SparkSession
from pyspark.sql.functions import when
# 创建SparkSession
spark = SparkSession.builder.getOrCreate()
# 创建示例DataFrame
data = [("Alice", 25), ("Bob", 30), ("Charlie", 35)]
df = spark.createDataFrame(data, ["Name", "Age"])
# 定义多个组和对应的值
groups = {
"A": "Group A",
"B": "Group B",
"C": "Group C"
}
# 使用withColumn方法添加新列,并使用when和otherwise函数进行条件判断和赋值
df_with_group = df.withColumn("Group", when(df.Age < 30, groups["A"])
.when(df.Age < 35, groups["B"])
.otherwise(groups["C"]))
# 显示结果
df_with_group.show()
输出结果如下:
+-------+---+-------+
| Name|Age| Group|
+-------+---+-------+
| Alice| 25|Group A|
| Bob| 30|Group B|
|Charlie| 35|Group C|
+-------+---+-------+
在这个例子中,我们创建了一个包含姓名和年龄的DataFrame。然后,我们定义了多个组和对应的值。接下来,我们使用withColumn
方法添加了一个名为"Group"的新列,并使用when
和otherwise
函数根据年龄的不同条件进行判断和赋值,最终得到了包含新列的DataFrame。
推荐的腾讯云相关产品和产品介绍链接地址:
请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求和情况进行。
领取专属 10元无门槛券
手把手带您无忧上云