Meine Datenabtastwert ist:Wie man spezifische Interpunktion durch neuen Namen ersetzt?
comment sarc_majority
0 [?, ?] sarc
1 [0] non-sarc
2 [!, !, !] sarc
3 [0] non-sarc
4 [?] sarc
ich die Zeichensetzung mit einem neuen Namen ersetzt werden soll. Sowie ? = punct1,! = punct2, '= punct3. Ich habe versucht, aus der CSV-Datei lesen.
replace_df = pd.read_csv('./final/eng-mly-punct.csv', sep=',', quoting=csv.QUOTE_NONE,
names=["punct", "replacer"])
replace_df.head()
punct replacer
0 ? punct1
1 ! punct2
2 ' punct3
Dann stucked ich zu ersetzen:
for punct, replacer in replace_df.itertuples(index=False,name=None):
df.comment = df.comment.str.replace(r'\b{0}\b'.format(punct),replacer)
Der Fehler ist: Fehler: nichts
zu wiederholen, was falsch gelaufen? Oder gibt es einen möglichen Weg, dies zu tun? Die gewünschte Ausgabe sein sollte einfach:
comment sarc_majority
0 [punct1, punct1] sarc
1 [0] non-sarc
2 [punct2, punct2, punct2] sarc
3 [0] non-sarc
4 [punct1] sarc
Vielen Dank im Voraus. Prost.
versuchen Sie es mit dem 're' Paket. 're (r '\?', punct1, text)' –
Dank @RohanAmrute für Ihre Antwort. Das ist es, was ich zuerst denke. Aber lass uns den str.replace ausprobieren. –