首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提高数据帧分析速度

提高数据帧分析速度
EN

Stack Overflow用户
提问于 2016-02-13 21:56:43
回答 3查看 64关注 0票数 0

我正在使用三个数据帧来分析连续的数字数据-基本上是及时捕获的数字数据。有8列,360k个条目。我创建了三个相同的数据帧-一个是原始数据,第二个是用于分析的“便签簿”,第三个数据帧包含分析结果。这运行起来非常慢。我想知道是否有方法可以让这个分析运行得更快?如果我有一个大的24列数据帧,而不是三个单独的8列数据帧,会不会更快?

EN

回答 3

Stack Overflow用户

发布于 2016-02-14 02:35:56

使用cProfile和lineprof计算出时间都花在了哪里。

要获得他人的帮助,请发布您的真实代码和真实的配置文件结果。

优化是一个经验过程。人们拥有的一些小建议往往适得其反。

票数 1
EN

Stack Overflow用户

发布于 2016-02-14 02:44:44

很可能这无关紧要,因为pandas无论如何都是单独存储每一列的(DataFrame是Series的集合)。但使用单个框架可能会获得更好的数据局部性(内存中所有数据彼此相邻),因此值得一试。从经验上检查这一点。

票数 0
EN

Stack Overflow用户

发布于 2016-03-16 05:50:14

重读这篇文章,我意识到我本可以说得更清楚。我一直在使用这样的write语句:

代码语言:javascript
复制
dm.iloc[p,XCol] = dh.iloc[x,XCol]

将一个数据帧(dh)的各个信元传送到第二个数据帧(dm)的不同行。它的运行速度非常慢,但我需要对这个特定的文件进行排序,我只是忍受着这种性能。

根据Michael Heydt的"Learning Pandas“,第146页,在从数据帧中提取(或写入)标量值时,".iat”比".iloc“更快。我试过了,它起作用了。使用我最初的300k行文件,运行时间是13个小时(!)使用".iloc",使用".iat“的相同数据文件在大约5分钟内运行。

Net -这更快: dm.iatp,XCol = dh.iatx,XCol

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35380802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档