Поиск подстроки по нескольким столбцам - PullRequest
0 голосов
/ 16 октября 2019

Я пытаюсь найти подстроку во всех столбцах моего искрового фрейма данных, используя PySpark. В настоящее время я знаю, как искать подстроку в одном столбце, используя фильтр, и содержит:

df.filter(df.col_name.contains('substring'))

Как расширить это утверждение или использовать другое для поиска в нескольких столбцах совпадений подстрок?

1 Ответ

2 голосов
/ 16 октября 2019

Вы можете обобщить оператор фильтра за один раз:

from pyspark.sql.functions import col, count, when
# Converts all unmatched filters to NULL and drops them.
df = df.select([when(col(c).contains('substring'), col(c)).alias(c) for c in df.columns]).na.drop()

ИЛИ

Вы можете просто зациклить столбцы и применить тот же фильтр:

for col in df.columns:
    df = df.filter(df[col].contains("substring"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...