机器学习—科学数据包(四)—数据 IO
- 索引:将一列或多列读取出来构成DataFrame,其中涉及是否从文件中读取索引以及列名
- 类型推断和数据转换:包括用户自定义的转换以及缺失值标记
- 日期解析
- 迭代:针对大文件进行逐块迭代,这个是Pandas和Python原生的csv库的最大区别
- 不规整数据问题:跳过一些行,或注释等等
文件读取
csv 文件的读取:(1) 自带列名称:① pd.csv(‘地址’) ② pd.read_table(‘地址’, sep=’ , ’ )
(2)无列名称:pd.read_csv(‘地址’,header=None,names=[’ ‘,’ '] ,index_col=‘msg’)
(3)不能规则解析的可采用正则表达式:pd.read_table(‘地址’,sep=‘\s+’)
显示文件内容: %more 地址
缺失值处理:(1)指定缺失值
eg:
大型数据文件分块读取:
一次读1000行:pd.read_csv(‘地址’,chunksize=1000)
csv文件保存
df.to_csv(‘wnejian’,index=False)
其他格式
HDF5: HDF5是个C语言实现的库,可以高效地读取磁盘上的二进制存储的科学数据。
Excel文件: pd.read_excel/pd.ExcelFile/pd.ExcelWriter
JSON: 通过 json 模块转换为字典,再转换为 DataFrame
SQL 数据库:通过 pd.io.sql 模块来从数据库读取数据
NoSQL (MongoDB) 数据库:需要结合相应的数据库模块,如 pymongo 。再通过游标把数据读出来,转换为 DataFrame