机器学习数据科学包(八)——Pandas高级内容:数据IO操作

机器学习数据科学包(八)——Pandas高级内容:数据IO操作

载入数据到 Pandas

  • 索引:将一个列或多个列读取出来构成 DataFrame,其中涉及是否从文件中读取索引以及列名
  • 类型推断和数据转换:包括用户自定义的转换以及缺失值标记
  • 日期解析
  • 迭代:针对大文件进行逐块迭代。这个是Pandas和Python原生的csv库的最大区别
  • 不规整数据问题:跳过一些行,或注释等等

索引及列名

ex1.csv

机器学习数据科学包(八)——Pandas高级内容:数据IO操作

ex2.csv

机器学习数据科学包(八)——Pandas高级内容:数据IO操作

机器学习数据科学包(八)——Pandas高级内容:数据IO操作

机器学习数据科学包(八)——Pandas高级内容:数据IO操作

处理不规则的分隔符

ex3.csv

机器学习数据科学包(八)——Pandas高级内容:数据IO操作

机器学习数据科学包(八)——Pandas高级内容:数据IO操作

缺失值处理

ex5.csv

机器学习数据科学包(八)——Pandas高级内容:数据IO操作

机器学习数据科学包(八)——Pandas高级内容:数据IO操作

逐块读取数据

ex6.csv

机器学习数据科学包(八)——Pandas高级内容:数据IO操作

机器学习数据科学包(八)——Pandas高级内容:数据IO操作

保存数据到磁盘

机器学习数据科学包(八)——Pandas高级内容:数据IO操作

二进制格式

二进制的优点是容量小,读取速度快。缺点是可能在不同版本间不兼容。比如 Pandas 版本升级后,早期版本保存的二进制数据可能无法正确地读出来。

机器学习数据科学包(八)——Pandas高级内容:数据IO操作

机器学习数据科学包(八)——Pandas高级内容:数据IO操作

其他格式

  • HDF5: HDF5是个C语言实现的库,可以高效地读取磁盘上的二进制存储的科学数据。
  • Excel文件: pd.read_excel/pd.ExcelFile/pd.ExcelWriter
  • JSON: 通过 json 模块转换为字典,再转换为 DataFrame
  • SQL 数据库:通过 pd.io.sql 模块来从数据库读取数据
  • NoSQL (MongoDB) 数据库:需要结合相应的数据库模块,如 pymongo 。再通过游标把数据读出来,转换为 DataFrame