python3数据加载1
本文章为系列文章第一篇,首先声明文章内容均来自《利用python进行数据分析》,所有例子均在python3下完成。要完成例子首先需要安装python3环境,然后要安装numpy,panads等模块。
panads提供了一些方便的方法将表格数据读取为DataFrame对象的函数。
read_csv |
从文件,URL,文件型对象中加载数据。默认逗号分隔 |
read_table |
默认制表符('\t')分隔 |
read_fwf |
读取定宽数据,无分隔符 |
read_clipboard |
读取剪贴板数据 |
read_csv和read_table是最常用的。
read_csv默认逗号为分隔符,所以读取.csv文件是不需要指定分隔符,当用read_table时需要指定sep=','
上面的文件中文件第一行被当作列名,当文件中没有列名时可以使用默认的列名或自定义列名,当指定用默认列名时只要指定header=None自己指定列名只要指定names参数
如果想要将message列作为DataFrame的索引可以知道index_col参数为'message'
如果需要层次化索引则需要传人有列名组成的列表
有些文件可能格式不是用固定分隔符分隔的,里面可能有数量不等的空白符等,如果手工调整则太麻烦,可以使用正则表达式,比如对数量不等的空白符可以用\s+
在收集数据时由于各种原因,不可避免出现数据丢失,对于丢失数据pandas也提供了很好的处理办法。默认情况下pandas会用NaN识别缺失值。
用户也可以自己指定缺失值,比如'指定foo'表示的值都是缺失的
有时候文件太大,我们只想看前几行,这时可以指定nrows参数
前面讲的都是如何读取文件,其实pandas也可以方便的以各种格式各种分隔符将数据写入文件,只需要使用DataFrame的to_csv就可以将数据以逗号分隔的方式写入文件。当然还可以用其他分隔方式。
这里将数据写到标准输出,并以|分隔
上面的缺失值被用空白字符表示,用户也可以自己指定,比如用NULL代替
还可以指定写入时不写入行列的标签,同时还可以指定写入哪几列并以指定顺序写入
pandas也提供了处理json文件的简单方法,只需要导入import json模块使用json.loads()方法就可以读入json文件,用json.dumps()也可以方便的将python对象转换为json格式