当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PySpark SQL Functions lit方法用法及代码示例


PySpark SQL 函数的 lit(~) 方法创建具有指定值的 Column 对象。

参数

1. col | value

填充该列的值。

返回值

Column 对象。

例子

考虑以下PySpark DataFrame:

df = spark.createDataFrame([["Alex", 20], ["Bob", 30]], ["name", "age"])
df.show()



+----+---+
|name|age|
+----+---+
|Alex| 20|
| Bob| 30|
+----+---+

在 PySpark DataFrame 中创建常量列

要创建一个新的 PySpark DataFrame,其中包含 dfname 列以及由 True 值组成的名为 is_single 的新列:

import pyspark.sql.functions as F
df2 = df.select(F.col("name"), F.lit(True).alias("is_single"))
df2.show()



+----+---------+
|name|is_single|
+----+---------+
|Alex|     true|
| Bob|     true|
+----+---------+

这里,F.lit(True) 返回一个Column 对象,该对象具有一个名为alias(~) 的方法,用于分配标签。

请注意,您可以使用 withColumn(~) 方法附加新的常量列:

import pyspark.sql.functions as F
df = spark.createDataFrame([["Alex", 20], ["Bob", 30]], ["name", "age"])
df_new = df.withColumn("is_single",  F.lit(True))
df_new.show()



+----+---+---------+
|name|age|is_single|
+----+---+---------+
|Alex| 20|     true|
| Bob| 30|     true|
+----+---+---------+

创建一个列,其值基于 PySpark 中的条件

我们还可以使用 lit(~) 创建一个列,其值取决于某些条件:

import pyspark.sql.functions as F
col = df.when(F.col("age") <= 20, F.lit("junior")).otherwise(F.lit("senior"))
df3 = df.withColumn("status", col)
df3.show()



+----+---+------+
|name|age|status|
+----+---+------+
|Alex| 20|junior|
| Bob| 30|senior|
+----+---+------+

请注意以下事项:

  • 我们使用 when(~) otherwise(~) 模式有条件地填充列的值。

  • 我们正在使用 withColumn(~) 方法附加一个名为 status 的新列。

  • F.lit("junior") 实际上可以替换为 "junior" - 这只是为了演示 lit(~) 的一种用法。

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 PySpark SQL Functions | lit method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。