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


Python PySpark Column isin方法用法及代码示例


PySpark 列的 isin(~) 方法返回布尔值的 Column 对象,其中 True 对应于指定值列表中包含的列值。

参数

1. *cols | any type

要比较的值。

返回值

布尔值的 Column 对象。

例子

考虑以下PySpark DataFrame:

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



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

获取 PySpark DataFrame 中的值列表中包含值的行

要获取 name 列的值为 "Cathy""Alex" 的行:

from pyspark.sql import functions as F
df.filter(F.col("name").isin("Cathy", "Alex")).show()



+----+---+
|name|age|
+----+---+
|Alex| 20|
+----+---+

这里,F.col("name").isin("Cathy","Alex") 返回布尔值的 Column 对象:

from pyspark.sql import functions as F
df.select(F.col("name").isin("Cathy", "Alex")).show()



+-----------------------+
|(name IN (Cathy, Alex))|
+-----------------------+
|                   true|
|                  false|
+-----------------------+

filter(~) 方法获取与 True 对应的行。

请注意,如果您有值列表,请使用 * 运算符将该列表转换为位置参数:

from pyspark.sql import functions as F
my_list = ["Cathy", "Alex"]
df.filter(F.col("name").isin(*my_list)).show()



+----+---+
|name|age|
+----+---+
|Alex| 20|
+----+---+

相关用法


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