总结一下用python做毕设的经验

(之前没有学过python,所以:单纯记录成长,与君共享!)

功能说明:

对一个百万行数据量的csv文件进行特征提取(应该是这么个说法),害,就是根据其中的值构建一个新的矩阵。

最开始的错误编程操作:

直接导入pandas库,完了以后read_csv + 一堆while,for,if开搞,结果就是读取效率巨低!!!

改进思路:

1.只提取有用的列属性进行操作:
eg:属性有user_id,item_id,sex,action_type,
只需要用到user_id,action_type的话,就这样写:
table=pd.read_csv(filename,usecols=[‘user_id’,‘action_type’])
2.对csv文件进行分块读取:
eg:对上面的实例语句进行改进,每块大小为10000:
table=pd.read_csv(filename,usecols=[‘user_id’,‘action_type’],chunksize=10000)
3.使用迭代器
(我好像是用到了,但是嗯,,还是不太理解,所以具体的还是再看看其他大佬的博客学习一下吧)
4.优化循环、判断语句!!!(一定要仔细查看改进自己的编程步骤,重新调整思路,因为数据量很大的时候,这个步骤的书写不合理也会浪费特别多的时间!)
5.对大量数据的处理,因为我之前没经验,所以我是先在小的差不多类型的csv文件上实验的代码,成功后搬到这个大量的数据上使用的。
6.多线程???(看了一下资料,,嗯,感觉不太好嵌入进我现在的代码里来,有兴趣的小伙伴可以再查看一下相关知识)

改进效果:

50行/分钟---->100行/分钟---->100行/秒

总结

嗯,好像现在看来速度还不是很快,我还是再搞搞吧。
如果有大神看到的话,求求告知其他的改进办法!!!

2020-04-10

相关文章: