J'utilise ce code mais il ne supprime pas les "points de suspension":
La revue de la colonne contient 1500 lignes de texte
Df["Reviews"] = Df['Reviews'].apply(lambda x : " ".join(re.findall('[\w\.]+',x)))
Un exemple de texte serait: "le concessionnaire a dit il ne rembourse pas les concessionnaires pour les prêts ou les locations ... alors pourquoi même être concessionnaire s'ils fabriquent des voitures défectueuses et que vous êtes en ligne pour aider les clients "
3 Réponses :
Series.str.replace devrait fonctionner pour des expressions simples:
df.Reviews.str.replace("...", "")
ne devrait-il pas être regex = True?
ça ne marche pas vraiment pour moi
Je pense que '\ ...'
est le bon modèle, et @ Sid29 .str.replace
utilise par défaut regex = True
la fonction de remplacement ne fonctionne pas du tout
Si vous souhaitez supprimer ce mot spécifique de chaque ligne, vous n'avez pas besoin d'utiliser RegEx. Vous pouvez utiliser str.replace
comme indiqué ici: Comment supprimer un mot spécifique d'une chaîne?
Df["Reviews"] = Df['Reviews'].apply(lambda x:x.replace("ellipsis",""))
par points de suspension, je veux dire "..."
Vous pouvez essayer l'une des méthodes ci-dessous:
Avec REGEX
import re regex = r"(\W)\1+" test_str = "dealer said it does not reimburse dealers for loaners or rentals... so why even be a dealership if they make faulty cars and you re on the line to help customers" subst = "\\1" result = re.sub(regex, subst, test_str, 0, re.MULTILINE) if result: print (result)
Avec REGEX
import re regex = r"[.]+" test_str = "dealer said it does not reimburse dealers for loaners or rentals... so why even be a dealership if they make faulty cars and you re on the line to help customers" subst = "." result = re.sub(regex, subst, test_str, 0, re.MULTILINE | re.IGNORECASE) if result: print (result)
Avec REGEX
import pandas as pd pd.set_option('max_colwidth', 400) df = pd.DataFrame({'Reviews':['dealer said it does not reimburse dealers for loaners or rentals... so why even be a dealership if they make faulty cars and you re on the line to help customers']}) df['Reviews'] = df['Reviews'].replace('\.+','.',regex=True) print(df)
intéressant, laisse-moi essayer ça
@Saud J'ai ajouté une nouvelle réponse avec les pandas, je vous conseille vivement d'essayer ça
veuillez partager la réponse avec les pandas, ce serait intéressant
@Saud a ajouté une réponse avec pandas
, regardez à nouveau
oui, les pandas fonctionnent, merci
bonne chance :)
Veuillez modifier votre question lorsque vous souhaitez ajouter des informations supplémentaires
Essayez ceci - stackoverflow.com/questions/7208861 /… ou essayez d'utiliser "\" avant les points de suspension et définissez regex = true.