Entfernen Sie Nicht-Englisch, behalten Sie Zahlen, Satzzeichen und Emojis bei, indem Sie Polars-Regex-Ausdrücke verwendePython

Python-Programme
Anonymous
 Entfernen Sie Nicht-Englisch, behalten Sie Zahlen, Satzzeichen und Emojis bei, indem Sie Polars-Regex-Ausdrücke verwende

Post by Anonymous »

Ich habe Python-Code für die Aufgabe.

Code: Select all

import re
import string

emoji_pat = '[\U0001F300-\U0001F64F\U0001F680-\U0001F6FF\u2600-\u26FF\u2700-\u27BF]'
shrink_whitespace_reg = re.compile(r'\s{2,}')

def clean_text(raw_text):
reg = re.compile(r'({})|[^a-zA-Z0-9 -{}]'.format(emoji_pat,r"\\".join(list(string.punctuation)))) # line a
result = reg.sub(lambda x: ' {} '.format(x.group(1)) if x.group(1) else ' ', raw_text)
return shrink_whitespace_reg.sub(' ', result).lower()
Ich habe versucht, die Polaren polars.internals.series.StringNameSpace.contains
zu verwenden

Code: Select all

But I got an exceptions
ComputeError: regex error: Syntax(

regex parse error:
([🌀-🙏🚀-🛿☀-⛿✀-➿])|[^a-zA-Z0-9 -!\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\-\\.\\/\\:\\;\\\\?\\@\\[\\\\\]\\^\\_\\`\\{\\}\\~]
^^
error: unclosed character class
Beispiele mit Chinesisch, Englisch und Unbekanntem

Code: Select all

texts = ['水虫対策にはコレが一番ですね','🙏🚀','I love polars!-ã„ã¤ã‚‚ã•らã•ら.','So good 👍.']
df = pd.DataFrame({'text':texts})

d = df.text.apply(clean_text)
erwartet:

Code: Select all

0
1                🙏 🚀
2    i love polars! .
3         so good 👍 .
Name: text, dtype: object
Noch eine Frage:
Ist es schneller als die Verwendung von re?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post