用python处理一个1G左右的数据集,运行速度非常慢,怎样优化

 我来答
leffe_李洋
推荐于2016-02-18 · 超过59用户采纳过TA的回答
知道答主
回答量:105
采纳率:0%
帮助的人:113万
展开全部

两种可选的方式

1:使用yield的懒惰加载,示例代码如下:

def read_in_chunks(file_object, chunk_size=1024):
    """Lazy function (generator) to read a file piece by piece.
    Default chunk size: 1k."""
    while True:
        data = file_object.read(chunk_size)
        if not data:
            break
        yield data

f = open('really_big_file.dat')
for piece in read_in_chunks(f):
    process_data(piece)

2:使用iter和一个帮助方法:

f = open('really_big_file.dat')
def read1k():
    return f.read(1024)

for piece in iter(read1k, ''):
    process_data(piece)

推荐使用第一个。

柚鸥ASO
2024-03-16 广告
安卓ASO优化原理是通过优化APP名称、图标、描述、覆盖关键词、评论等多个维度,提升APP在应用商店中的榜单排名和搜索排名,从而增加APP的曝光量和下载量。影响ASO的因素包括关键词、应用名称、图标、应用截图及预览视频、描述、下载量、用户留... 点击进入详情页
本回答由柚鸥ASO提供
n风子n
2014-12-02 · TA获得超过217个赞
知道小有建树答主
回答量:84
采纳率:0%
帮助的人:81.4万
展开全部
首先当然是优化代码,前提如果你能把代码贴出来的话。
其次代码中如果有大量频繁的计算,可以把你的计算核心代码用cython改写一下。
如果不喜欢cython,而且你所用到的模块都是纯python实现的话,可以用pypy来执行你的程序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Coo_boi
2014-12-02 · TA获得超过1333个赞
知道大有可为答主
回答量:2209
采纳率:50%
帮助的人:242万
展开全部
你这个连需求背景都没有介绍,就直接要方案。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bioskymo
2014-12-02 · TA获得超过838个赞
知道小有建树答主
回答量:132
采纳率:0%
帮助的人:73.5万
展开全部
能告知你现在的方法以及性能么?
python 处理数据本来就慢~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式