Pyspark присоединяется к выражению регулярного выражения, возвращая неожиданные результаты - PullRequest
0 голосов
/ 11 апреля 2019

Я выполняю внутреннее объединение 2-х фреймов данных pyspark.Первый содержит мой набор данных, который имеет столбец кодов.Я хочу выбрать строки, которые содержат определенные коды, используя внутреннее соединение.т. е.

DATAFRAME: df_diags

Диагностика пациента

1 O244.12

2 244.12

3 250.01

4 E11.1

другой содержит серию регулярных выражений, которые я хочу использовать в качестве своего ключа.т. е.

ДАННЫЕ КАДРА: коды df_ 1017 *

код

\ b (\ 250 [0-9] 0. *)

\ b (\ O244 [0-9]. *)

\ b (\ E11. *)

Используемый код выглядит следующим образом:

df = df_diags.join(df_codes, F.expr("code rlike DIAG"), "inner")

Код представляется предпочтительнымвыбрав 244.12 вместо O244.12, как и следовало ожидать.Он работает для всех других кодов.

т.е.

Код ДИАГНОСТИКИ ПАЦИЕНТА

2 244.12 \ b (\ O244 [0-9]. *)

3 250.01 \ b (\ 250 [0-9] 0. *)

4 E11.1 \ b (\ E11. *)

Может кто-нибудь помочь объяснить, почему это может происходить?Что-то странное в «О»?

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...