首页 > 解决方案 > 使用字典替换DataFrame中句子中的单词

问题描述

我正在尝试用字典替换数据框中句子中的单词。如何替换原始数据框?

字典:rep_vocab 包含{wrong words: correct words} 数据框:data_test 列 ['question1'] 句子列 ['d5'] 包含一组在句子中拼写错误的单词。我使用此列快速定位有错误单词的句子行。

我的代码:

data_test.loc[data_test['d5']!=set()['question1'].replace(rep_vocab,regex=True)

它返回正确的结果,但数据框中的原始值不会改变。我尝试了其他方法,例如 use inplace=True,但它引发了警告:

试图在 DataFrame 中的切片副本上设置一个值。尝试改用 .loc[row_indexer,col_indexer] = value

标签: pythonpandasdataframepandas-loc

解决方案


您可以只获取输出并将其插入(因此不要就地执行)。

data_test.loc[data_test['d5']!=set()['question1'] = data_test.loc[data_test['d5']!=set()['question1'].replace(rep_vocab,regex=True)

但请检查您是否需要条件,您可能只需键入:

data_test['question1'] = data_test['question1'].replace(rep_vocab,regex=True)

推荐阅读