2017-12-22 3 views
0

Ich habe mehrere regexps wie diese,Reinigung Daten mit Pandas mit regulären Ausdrücken

Data['SUMMARY']=Data['SUMMARY'].str.replace(r'([^\w])',' ') 
Data['SUMMARY']=Data['SUMMARY'].str.replace(r'x{2,}',' ') 
Data['SUMMARY']=Data['SUMMARY'].str.replace(r'_+',' ') 
Data['SUMMARY']=Data['SUMMARY'].str.replace(r'\d+',' ') 
Data['SUMMARY']=Data['SUMMARY'].str.replace(r'\s{2,}',' ') 

i alle Interpunktion ersetzen wollen, XXXXXXXX, alle Stellen, die alle nicht alphanumerische auf die leere Zeichenfolge ''. Wie kann ich alles zu einem Austausch von Regexp kombinieren?

+1

'Daten [ 'Zusammenfassung'] str.replace ('[^ a-zA-Z \ s] + | X. {2,} ',' ') '? –

+0

müssen Sie auch Leerzeichen entfernen? – Allan

Antwort

2

So möchten Sie (auf der Grundlage Ihrer Frage)

  1. Interpunktion
  2. X{2,}
  3. Ziffern entfernen
  4. etwas, das kein Buchstabe oder Ziffer

Es gibt überlappende Themen hier. Sie möchten nur Buchstaben und einzelne Leerzeichen speichern.

df = pd.DataFrame({'SUMMARY' : ['hello, world!', 'XXXXX test', '123four, five:; six...']}) 

df 

        SUMMARY 
0   hello, world! 
1    XXXXX test 
2 123four, five:; six... 

df.SUMMARY.str.replace(r'[^a-zA-Z\s]+|X{2,}', '') 

0  hello world 
1    test 
2 four five six 
Name: SUMMARY, dtype: object 

Wenn Ihre Spalte zwei oder mehr Räume, werden Sie über einen separaten Anruf machen und sie ersetzen - Sie können Ihre getrennte Muster zu einem einzelnen kondensieren.

df.SUMMARY = df.SUMMARY.str.replace(r'[^a-zA-Z\s]+|X{2,}', '')\ 
         .str.replace(r'\s{2,}', ' ') 
0

wenn Sie wollen 2 or more occurrences von x Groß- und Kleinschreibung ersetzen, und wenn Sie wollen auch die Räume (andere leere Zeichen) durch die leere Zeichenkette ersetzt werden:

(?i)([^a-z]+|X{2,}) 

wenn Sie behalten möchten die Leer und wenn Sie Groß- und Kleinschreibung Ketten von 2 x oder mehr Gebrauch ersetzen mögen:

(?i)([^a-z\s]+|X{2,}) 

, wenn Sie nur entfernen Die obere Gehäuse Ketten aus 2 X oder mehr und hält die untere Gehäuse Kette x:

([^a-zA-Z\s]+|X{2,}) 
Verwandte Themen