ersetzen Ich habe Umfragedaten, dass die Antworten wie dies in einem Pandas Datenrahmen angezeigt haben:Python: Wie die erste Instanz von unerwünschten Zeichen in einer Zeichenfolge mit Regex
A B C D E
a. cattle c. bird b. cat a. cattle 1.20-60
c. bird b. cat a. cattle b. cat 3.61-103
b. cat a. cattle c. bird c. bird 2.10-19
Ich versuche, die Antwort Bezug zu entfernen Zeichen/Zahlen ('a.', b. ',' c. ',' 1., '2.', 3.. ') und der Leerraum, der vor der eigentlichen Antwort auftritt, um etwas zu hinterlassen, das wie folgt aussieht:
A B C D E
cattle bird cat cattle 20-60
bird cat cattle cat 61-103
cat cattle bird bird 10-19
der folgende Code verwendet, ist ein Wörterbuch zu Staat, der Bezug durch eine ‚‘ ersetzt werden beantworten muss:
df[repval_cols].replace({
'a. ':'',
'b. ':'',
'c. ':'',
'1.':'',
'2.':'',
'3.':'',
}, regex=True)
Die [repval_cols] ist eine Liste von Spalten im Datenframe, die ich möchte, dass dies geschieht.
jedoch das Problem, das ich habe, ist, dass der Code, den ich von oben bin mit jeder Instanz des Zeichens innerhalb der Zeichenfolge entfernt in den Spalten, so dass es mich mit unsinnigen Daten wie diese Blätter:
A B C D E
cttle ird ct cttle 0-60
ird ct cttle ct 6-0
ct cttle ird ird 0-9
Könnte jemand Bitte erläutern Sie, warum Zeichen ersetzt werden, die nicht mit denen in meinem Wörterbuch übereinstimmen. Ich sage ausdrücklich, dass ich "a. 'mit' 'nicht irgendein' a 'innerhalb der Zeichenfolge.
Jede Beratung/Vorschläge stark
geschätzt wird
Danke @Alexanderfor das Erklären.als Metazeichen in Regex. Das behebt das Problem, das ich in meiner Regex-Anweisung hatte. – da4l