关于实际开发中数据格式的问题

来源:3-5 编码实现(基于python2.7)

迷途20191129

2021-01-24

老师您好:
我想请教一下在实际开发过程中,一般是将数据集转换成哪种类型的数据进行处理呢(字典类型或是dataframe?)
1、我最近在看一本推荐系统方面的书籍,书籍里的代码示例中基本都是将文件内容转换成数据字典(dict)的形式再进行处理。是因为字典格式的处理效率比较高还是因为推荐系统的开发都是按照这种形式呢?
2、我对一个有1亿行数据的文件(DataFrame)进行数据清洗的时候,发现电脑内存吃不消导致一些清洗过程失败。请问是因为python的性能问题造成的还是因为我所使用的数据清洗的手段效率不高呢?对于python来说处理1亿行数据是否已经达到它的极限了呢?
3、非常迫切想了解实际开发中是以什么格式处理数据的呢?
谢谢老师

写回答

1回答

途索

2021-01-29

同学你好:
在实际生产环境中,很少在单机情况下处理数据,一般情况是在大数据平台存储与处理相应的数据,比如HIVE或者Spark。如果不得已必须在单机来建模,这个没有固定模式,比如,我就喜欢用pandas。
1、你说的这个推荐系统,很可能是该模型在建立的时候就用的这种数据结构,或者作者喜欢用这种数据结构,效率上难说谁更好;
2、1亿数据很可能是数据量太大,不管怎么处理可能都比较慢,即使用C语言处理,有提升,但不会有质的提升,真正的解决方案是用大数据开发工具处理;
3、现在我们生产环境已经差不多都云化了,很少有单机处理。有些云化的计算机制开始借鉴单机处理的接口形式,比如pyodps就借鉴了pandas,MARS就借鉴了sklearn。数据结构因平台和因人而异。

0
0

Python3数据分析与挖掘建模实战,快速胜任数据分析师

快速胜任数据分析岗位,逆袭成为数据掘金时代的抢手人才!

2204 学习 · 489 问题

查看课程