Моя выборка данных:Как заменить определенную пунктуацию новым именем?
comment sarc_majority
0 [?, ?] sarc
1 [0] non-sarc
2 [!, !, !] sarc
3 [0] non-sarc
4 [?] sarc
Я хочу, чтобы заменить знаки препинания с новым именем. Такие как ? = punct1,! = punct2, '= punct3. Я попытался использовать чтение из csv-файла.
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
Тогда я stucked на замену:
for punct, replacer in replace_df.itertuples(index=False,name=None):
df.comment = df.comment.str.replace(r'\b{0}\b'.format(punct),replacer)
Ошибка является: ошибка: ничего не повторять
Что пошло не так? Или есть ли способ сделать это? Желательный результат должен быть точно так же как:
comment sarc_majority
0 [punct1, punct1] sarc
1 [0] non-sarc
2 [punct2, punct2, punct2] sarc
3 [0] non-sarc
4 [punct1] sarc
Спасибо заранее. Приветствия.
попробуйте использовать пакет 're'. 're.sub (r '\?', punct1, text)' –
Спасибо @RohanAmrute за ваш ответ. Это то, о чем я сейчас думаю. Но давайте попробуем str.replace. –