Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.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_Pandas_Dataframe_Gensim - Fatal编程技术网

Python 汇总数据框列

Python 汇总数据框列,python,pandas,dataframe,gensim,Python,Pandas,Dataframe,Gensim,我有一个大数据框(约470万行),其中一列包含文档文本。我试图在整个数据帧的特定列上运行Gensim summary,但未成功 df['summary']=df['variable\u content'].apply(lambda x:summary(x,word\u count=200)) 将variable\u content的每一行提取到一个变量中并运行summary效果很好,但速度慢且不好。我还得到一个错误: ValueError: input must have more than

我有一个大数据框(约470万行),其中一列包含文档文本。我试图在整个数据帧的特定列上运行Gensim summary,但未成功

df['summary']=df['variable\u content'].apply(lambda x:summary(x,word\u count=200))
variable\u content
的每一行提取到一个变量中并运行summary效果很好,但速度慢且不好。我还得到一个错误:

ValueError: input must have more than one sentence

但是找不到只有一个句子的行(大多数是成百上千)。有人能帮忙吗?

你有470万行,每行都有成百上千个句子,你希望这能在有限的时间内奏效吗?这就是我所说的“乐观主义”。我建议在数据框中循环,以块(比如1000行)的形式运行,在运行过程中保存工作,并在运行过程中打印出块的数量。一旦失败,您将大致知道失败的地方,并且您将实际得到一些结果。

您有470万行,每行有数百或数千个句子,您希望这在有限的时间内有效吗?这就是我所说的“乐观主义”。我建议在数据框中循环,以块(比如1000行)的形式运行,在运行过程中保存工作,并在运行过程中打印出块的数量。一旦失败,您将大致知道失败的位置,并且您将实际得到一些结果。

至于ValueError:用“real”函数替换lambda,并在函数中捕获此异常。如果出现异常,请打印内容。这将表明错误在哪里。至于“慢”-尝试并行化。@gojomo感谢您的反馈。Gensim摘要是对当前摘要的一个重大改进,因此,尽管您可能是正确的,但我的用户的初始评论还是通过月球发送的。@gojomo正如您所猜测的,最终出现了不止一个错误-大多数错误与脏数据有关。根据Roy2012的建议,我在try-except格式中使用了一个通用函数,据称干净数据的肮脏变得显而易见。清理和过滤这些数据处理了大部分故障(tttt我在异常处理结束时添加了“pass”以完成循环。然后我过滤掉了困难的失败,以便在本周晚些时候进行审查。@Roy2012我现在正在进行测试,在开发数据集上似乎很成功。一旦我能够报告更大的数据集成功,我将发布代码。至于ValueError:用“real”f替换lambda函数,并在函数中捕获此异常。如果出现异常,请打印内容。这将指示错误所在。至于“缓慢”-尝试并行化。@gojomo感谢您的反馈。Gensim摘要比当前摘要有了显著改进,因此,尽管您可能是对的,但请与我的用户通过月球发送了这些数据。@gojomo正如您所猜测的,最终出现了不止一个错误-大多数错误与脏数据有关。根据Roy2012的建议,我在try-except格式中使用了一个通用函数,据称干净数据的脏数据变得明显。清理和过滤这些数据解决了大部分故障(tttt我在异常处理结束时添加了“通过”以完成循环。然后我过滤掉了困难的失败,以便在本周晚些时候进行审查。@Roy2012我现在正在进行测试,它似乎在开发数据集方面取得了成功。一旦我能够报告更大数据集的成功,我将发布代码。我创建了一个包含1000行的devset来完成该过程essing logic,因为正如您所注意到的,470万行的速度很慢。我还在数据集上运行了“langdetect”,删除了50行左右的非英语行(相信这是可能的,总结和我的大脑在英语方面工作得最好。我将逐行循环,看看会发生什么。@user2366762逐行在这里很好,因为每行的计算量很高,但我建议在范围(0,len(df),1000)内使用类似于I的东西:newdf=df.iloc[I:I+1000]…做你的事情我创建了一个1000行的devset来处理处理逻辑,因为,正如你所注意到的,470万行的速度很慢。我还在数据集上运行了“langdetect”,删除了50行左右的非英语行(我相信这是可能的,我的大脑在英语方面工作得最好。我会逐行循环,看看会发生什么。@user2366762逐行循环在这里很好,因为每行的计算量很高,但我建议在范围(0,len(df),1000)内使用类似于I的东西:newdf=df.iloc[I:I+1000]…做你自己的事