Python处理大数据的技巧, 2022-06-21

Python014

Python处理大数据的技巧, 2022-06-21,第1张

(2022.06.21 Tues)

收集整理了Python处理大量数据方法,基于Pandas,Numpy等数据处理工具。

用df的 info 方法并指定 memory_usage='deep' 参数,或使用df的 memory_usage 方法,并指定 deep=True 参数。

在读取数据文件的方法中加入 nrows 参数选择前n行数据读取。

也可以跳过m行之后,读取从m行开始的n行

当然也可以在 skiprows 选项中指定范围,保留headers,即保留列名

可以指定 skiprows 中需要忽略的行,用list或array导入即可。下面是随机

如果在这个指令中忽略 nrows=10 指令,则读取跳过100行之后的所有数据。

预先指定读入的列,缩小加载范围

不同的数据类型占用了不同大小的空间,对于尚未读取的数据,可以提前指定类型( dtype );对于已经读入的数据,通过 astype 方法修改成占空间更小的数据类型。

在读入数据之前,通过字典指定每列对应的数据类型,读入之后按照此类型显示数据。

通过改变数据类型减少空间的案例。修改DataFrame d 中的一列 Sctcd ,注意到该列的数据都是1、2、0,而保存类型是object,果断改成 uint8 ,通过 df.info(memory_usage='deep') 方法对比内存的使用情况。仅仅修改了一个列的类型,数据大小减小3MB。

一个特殊而高效的案例是当某一列的值只有有限个,不管是int还是string格式,且该列unque值远小于列的长度,可以将该列转变为 category 类,将节省大量空间。这么做当然也有代价,比如转换成 category 类的数据将无法做max/min等运算,由数字转换成的 category 也不能进行数值运算。这种转换对内存的节省效果显著,下面是对比。 dcol 只有两列, Stkcd 和 Stknme ,查看unique的个数与总长度,显示unique远小于总长度,分别转换为 category 类型,内存节省超过90%!

通过Pandas的 read_csv 方法中的 chunksize 选项指定读取的块大小,并迭代地对读取的块做运算。

1 https冒号//www点dataquest点io/blog/pandas-big-data/

2 CSDN - python 处理大量数据_如何用python处理大量数据

2 How to Work with BIG Datasets on 16G RAM (+Dask), on kaggle

,选择开始菜单中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,打开【SQL Server Management Studio】窗口,并使用Windows或 SQL Server身份验证建立连接。

在【对象资源管理器】窗口中展开服务器,然后选择【数据库】节点

右键单击【数据库】节点,从弹出来的快捷菜单中选择【新建数据库】命令。

执行上述操作后,会弹出【新建数据库】对话框。在对话框、左侧有3个选项,分别是【常规】、【选项】和【文件组】。完成这三个选项中的设置会后,就完成了数据库的创建工作,

在【数据库名称】文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。

在【所有者】文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用【使用全文索引】复选框。

在【数据库文件】列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的【添加】、【删除】按钮添加或删除数据库文件。

切换到【选项页】、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。

切换到【文件组】页,在这里可以添加或删除文件组。

完成以上操作后,单击【确定】按钮关闭【新建数据库】对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再【对象资源管理器】窗口看到。

用Python做数据分析,大致流程如下:

1、数据获取

可以通过SQL查询语句来获取数据库中想要数据。Python已经具有连接sql server、mysql、orcale等主流数据库的接口包,比如pymssql、pymysql、cx_Oracle等。

2、数据存储

企业当中的数据存储,通过通过数据库如Mysql来存储与管理,对于非结构化数据的存储可以使用MongoDB等。对于使用Python进行网络抓取的数据,我们也可以使用pymysql包快速地将其存储到Mysql中去。

3、数据预处理/数据清洗

大多数情况下,原始数据是存在格式不一致,存在异常值、缺失值等问题的,而不同项目数据预处理步骤的方法也不一样。Python做数据清洗,可以使用Numpy和Pandas这两个工具库。

4、数据建模与分析

常见的数据挖掘模型有:分类、聚类、回归等,这些常见的算法模型,Python也有Scikit-learn和Tensorflow工具库来支持。

5、数据可视化分析

在数据可视化方面,Python有Matplotlib、Seaborn、Pyecharts等工具库可用。