Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数据帧对象Python中的拼写更正_Python_Replace_Pandas_Nltk_Dataframe - Fatal编程技术网

数据帧对象Python中的拼写更正

数据帧对象Python中的拼写更正,python,replace,pandas,nltk,dataframe,Python,Replace,Pandas,Nltk,Dataframe,我需要创建一个函数,该函数接受一个名为new_data的dataframe类型对象(一个包含文本的列),并需要将这些单词与我的引用进行比较。 我的参考参考数据由两列组成,一列拼写错误(与新参考数据的形式相同),第二列由其更正版本组成 简单地说,我需要将新的_数据的每个单词与ref_数据的第一列进行比较,如果匹配,它将返回与该单词对应的第二列的单词 例如,如果新_数据的单词与第3行的ref_数据的单词匹配,则第3行第2列中的单词将替换它。如果需要,将提供更多的澄清。以下是我尝试过的: 我试过这个:

我需要创建一个函数,该函数接受一个名为new_data的dataframe类型对象(一个包含文本的列),并需要将这些单词与我的引用进行比较。 我的参考参考数据由两列组成,一列拼写错误(与新参考数据的形式相同),第二列由其更正版本组成

简单地说,我需要将新的_数据的每个单词与ref_数据的第一列进行比较,如果匹配,它将返回与该单词对应的第二列的单词

例如,如果新_数据的单词与第3行的ref_数据的单词匹配,则第3行第2列中的单词将替换它。如果需要,将提供更多的澄清。以下是我尝试过的:

我试过这个:

x = [line for line in ref_data['word']] #x is a list of all incorrect words
y = [line for line in ref_data['final']] #y is a list of all correct words
def replace_words(x): #function
for line in x: #iterate over lines in list
    for word in line.split(): #iterate over words in list
        if word == x:   #i dont know the syntax to compare with it.problem here
           return (word = y)  #i need to return y of the same index.      
这种方法很好。不要将不正确/正确的映射放入数据帧的两列中,而是使用序列

corrections = Series(correct_spellings, index=incorrect_spellings)
new_data_corrected = new_data.replace(corrections)
这里有一个简单的例子。我使用字母是为了简单;当然,这也适用于文字

In [10]: new_data
Out[10]: 
0    a
1    b
2    c
dtype: object

In [11]: corrections
Out[11]: 
c    C
b    B
dtype: object

In [12]: new_data.replace(corrections)
Out[12]: 
0    a
1    B
2    C
dtype: object

请注意:新数据中的每一行由一个句子组成。。我可以随时把它转换成一个列表。为什么要投否决票?剑的作用不是最好的方法,但他表现出了努力,问题是可以解决的。模棱两可的否决票应该伴随着建设性的批评。谢谢你的支持。作为一个初学者,这是一个巨大的挑战。互联网上没有很多疑问,我所在的城市也没有多少人知道python。如果你看,我有一个数据框,其中一列包含地址。我需要重复每个地址的每个单词,并用正确的一个替换它。它能与句子一起使用吗?我的数据包含句子。所以我需要重复句子中的每个单词来替换它。。你的方法太棒了。它是否可以扩展以包含更多的复杂性?如果你愿意的话,我会上传我数据的图像。这有点太复杂了,没有具体的东西可以讨论。我建议你做一些简短的玩具例子,并提出一个新问题。或者看看是否足够接近你。你必须把你的句子分成几列单词,然后应用。我的方法错了。。我用它作为一个函数来实时处理。。坦克斯兄弟