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

之前参加JD的比赛,遇见了这个问题。

先说一下电脑配置: Win10, i73630QM, 28G, 1TB 5400.

赛题是通过对3月内用户对商品的操作行为数据,预测未来5天用户的购买情况。最大的数据来源于3个月的行为操作数据,大概4G左右的数据量。我们是用python2.7进行操作的,全程都是python完成。

一开始没有注意这个问题,用python写循环去处理数据,统计相应的特征指标。需要循环4000万次,而且循环越来越慢,内存占用越来越大,当时循环一次需要1周时间,有点崩溃。后来减少了python循环的使用,多使用了python自带的函数进行处理,速读就快起来了。

总结一下:

1.数据量大的时候,不要循环操作。python提供了很多处理数据的包,pandas, numpy这些包中的函数速读快而且内存占用少。merge,groupby, count, 这些函数要用起来啊。

2.可以预先在数据库里对数据进行处理,像我们遇到的这个数据量,在mysql里运用SQL进行特征提取,效率比python要快。

处理完数据后,运用python跑模型的时候,选好模型python的效率还是可以接受的。希望对于只会用python的数据分析同学有帮助啊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值