當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。