Python 使用guess_语言阅读30000条推文

Python 使用guess_语言阅读30000条推文,python,pandas,nltk,Python,Pandas,Nltk,我正在为一个学校项目检测推文的语言。我用熊猫读取.csv文件。我大约有30000行 然而,我的问题是guess语言一次只能阅读一条推文 猜测语言(“头条新闻:大规模心理健康危机”™ ") “嗯” 我对python非常陌生,现在几乎一天都在尝试弄清楚循环和if语句,它们一直只返回一条tweet 谢谢你,如果你的问题是站不住脚的,我道歉 我使用了Kareem建议的以下代码。 从guess\u语言导入guess\u语言resdf=nodupdf[nodupdf['text']。应用(guess\u语

我正在为一个学校项目检测推文的语言。我用熊猫读取.csv文件。我大约有30000行

然而,我的问题是guess语言一次只能阅读一条推文

猜测语言(“头条新闻:大规模心理健康危机”™ ")

“嗯”

我对python非常陌生,现在几乎一天都在尝试弄清楚循环和if语句,它们一直只返回一条tweet

谢谢你,如果你的问题是站不住脚的,我道歉


我使用了Kareem建议的以下代码。

从guess\u语言导入guess\u语言resdf=nodupdf[nodupdf['text']。应用(guess\u语言)=='en']

它适用于小文件(100CSV),但当我将它应用于大文件时,它给了我这个错误

在9-10中对noeng中的chunk进行TypeError回溯(最近一次调用last):-->11 chunk['text']。apply(guess_language)='en'

~\Anaconda3\lib\site packages\pandas\core\series.py in apply(self,func,convert\u dtype,args,**kwds)4040-else:4041-values=self.astype(object.values->4042-mapped=lib.map\u-infer(values,f,convert=convert\u dtype)4043 4044如果len(mapped)和isinstance(mapped[0],series):

pandas_libs\lib.pyx在pandas中。_libs.lib.map_infere()

~\Anaconda3\lib\site packages\guess\u language\uuuu init\uuuuuuuuu.py in guess\u language(文本,提示)322”““返回ISO 639-1语言代码.323”“”-->324 words=WORD\RE.findall(文本[:MAX\u LENGTH]。替换(“,”)325返回标识(words,find\u运行(words),提示)326

TypeError:“float”对象不可下标


认为这是内存错误,我使用了chunk。

noeng=pd.read_csv(r'C:\Users\jean\nodupdf.csv',chunksize=10)表示noeng中的chunk:chunk['text']。apply(guess_language)='en'


我仍然有相同的错误。

您可以获取每个,并基本上像这样处理它们

resdf =  newdf[ newdf['text'].apply(guess_language) == 'en' ] 

resdf应该包含原始的行,这些行的tweet有一个英语分类


函数
apply
应该在每一条tweet上应用你的函数
guess\u language
,并在分类后返回列值,然后我们使用该函数仅获取将
en
作为分类的行的索引。

因此,你试图实现的是应用该函数
guess\u language
在csv文件的每一行上,对吗?如果你能提供一个有用的csv文件样本是的,在每一行上应用guess_语言,这样它只会给我英文推文。比如:guess_语言(“头条新闻:大规模心理健康危机”)™ “”“en”我有30000行和12列。tweets在“text”列下。我的数据框名为newdfThanks Kareem,但我遇到了以下错误:TypeError:“float”对象不可下标。您可以包括一个示例(1-5条记录)这就像是一个伪代码,现在只是为了给出主要的想法,如果你的错误,也可以附加堆栈跟踪,也许这是某个记录中的特殊情况。嗨!我在下面发布了一个新的“答案”,而不是注释,因为它有点长。非常感谢你,我不确定我能看到其他答案,但是如果你设法解决了这个问题答案中有一个问题,这是个好消息