【发布时间】:2020-04-01 03:05:12
【问题描述】:
我有一个数据框,其中一列是“文本”,如果该单元格包含非英语单词,我正在尝试清理整个单元格。
我删除了单元格中的所有标点符号。 我从单元格中删除了所有非 ASCI 字符。 我正在尝试导入其中一个英语词汇,将单词转换为小写并检查我的单元格中的单词是否在该字典中。但是,由于处理是堆叠的,因此我没有得到任何输出。
places = []
with open('english-words/words.txt', 'r') as filehandle:
for line in filehandle:
currentPlace = line[:-1]
currentPlace=currentPlace.lower()
places.append(currentPlace)
def non_eng(texx):
texx=texx.lower()
s=[]
s=texx.split()
zz=''
for i in s:
if i in places:
zz+=" "+i
return zz
df['text']=df['text'].map(non_eng)
有没有更好的方法来检查单元格由英文单词组成而不是法语/意大利语等?
【问题讨论】:
-
你说英文单词是什么意思?比如这个词有必要有意义还是可以是任何随机的字符集?
-
这能回答你的问题吗? extract English words from string in python
-
我需要准确的有含义的英文单词,否则ASCI就足够了
-
为您提供几个链接:将每个字符串条目与大字典进行比较可能会非常慢。有用于检测语言的软件包:查看:pypi.org/project/langdetect 一旦检测到语言,您可以例如将其从数据框中删除:pandas.pydata.org/pandas-docs/stable/reference/api/…
标签: python pandas replace non-english