Привет, у меня есть следующий фрейм данных, такой как
df.show()
, который будет выводиться как
+----------+--------+-------+--------------------+-------+--------------------+
| date| time|from_to| expression_col
+----------+--------+-------+--------------------+-------+--------------------+
|2019-11-08|05:55:41| MO-N|test=LN,x23=test,x5=66,lastkey1=BN zzzTemporary59 0
|2019-11-08|05:55:41| MO-N|test=LN,x23=test,x5=66,lastkey2=BN zzzTemporary59 0
|2019-11-08|05:55:41| MO-N|test=LN,x23=test,x5=66,lastkey3=BN zzzTemporary59 0
Я пытаюсь пройти выражение_кол, основанное на последнем ключе с разделителями-запятыми перед знаком равенства ( =) это значение, как указано ниже
lastkey1
lastkey2
lastkey3
на основе этого значения, если ключом является lastkey1, то он попадает в категорию один, lastkey2 затем в категорию 2, и так далее c конечный кадр данных
+----------+--------+-------+--------------------+-------+--------------------+
| date| time|from_to| expression_col | category
+----------+--------+-------+--------------------+-------+--------------------+
|2019-11-08|05:55:41| MO-N|test=LN,x23=test,x5=66,lastkey1=BN zzzTemporary59 0 | category-1
|2019-11-08|05:55:41| MO-N|test=LN,x23=test,x5=66,lastkey2=BN zzzTemporary59 0 | category-2
|2019-11-08|05:55:41| MO-N|test=LN,x23=test,x5=66,lastkey3=BN zzzTemporary59 0 | category-3
Я могу найти нужный результат с помощью регулярного выражения типа
.*,(.*)=.*$
, но как получить то же самое с помощью пользовательской функции