У меня есть столбец, который я хочу очистить, используя множество регулярных выражений, которые я хочу применять последовательно.
Даже панды это трудоемкий процесс, но, по крайней мере, я могу уйти, применив егокак функция.
В качестве конкретного примера:
import pandas as pd
import re
regex_tuples_list = [(r'\bMR\b', 'middle right', re.I),
('\bmiddle right area\b', 'center', re.I),
]
def apply_regex(text):
for (to_repl, value, re_flags) in regex_tuples_list:
to_repl_compiled = re.compile(to_repl, re_flags)
text = re.sub(to_repl_compiled, value, text)
return text
s = pd.Series(['Install the part in the MR',
'Check the MR area before using the tool',
'Always begin from the middle right area',
])
print(s.apply(apply_regex))
## Prints...
# Install the part in the middle right
# Check the center before using the tool
# Always begin from the center
Как лучше всего это сделать с помощью Pyspark?