【发布时间】:2019-10-01 13:55:08
【问题描述】:
假设我们有一个 pyspark 数据框,其中一列 (column_a) 包含一些字符串值,并且还有一个字符串列表 (list_a)。
数据框:
column_a | count
some_string | 10
another_one | 20
third_string | 30
list_a:
['string', 'third', ...]
我想过滤此数据框,并且仅在 column_a 的值包含 list_a 的项目之一时保留行。
这是用于根据单个字符串过滤column_a 的代码:
df['column_a'].like('%string_value%')
但是我们怎样才能得到一个字符串列表的相同结果呢? (保留column_a的值为'string', 'third', ...的行)
【问题讨论】:
-
您是在寻找完全匹配还是子字符串匹配?对于前者,使用
isin例如:df.where(df['column_a'].isin(list_a)) -
@pault 是的,我知道
isin()。我想检查值是否包含列表的字符串。
标签: python-3.x pyspark