Python数据载入与文件格式
最近看了Python数据分析的内容,其中有一个章节关于数据载入与文件格式的知识,其中包含数据读取、存储以及各种格式的文件数据的载入。不仅仅在数据分析中很重要,在平时的实践中,也觉得很重要。
下面是笔记实践与总结 。
1、pandas读取表格型数据
将表格型数据读取为DataFrame对象是pandas的重要功能,pandas函数read_csv、read_table是使用的比较多的,read_table需要指定sep间隔字符。
![](https://img.haomeiwen.com/i24447700/b2ff77f866b1b874.png)
index_col可以指定索引,。指定多列可以形成分层索引。names指定列名 。
![](https://img.haomeiwen.com/i24447700/41552ea7bd479f0e.png)
数据表的分隔符不是固定的,read_table的sep参数可以传入正则表达式作为分隔符,多个空格的正则表达式是“\s+” 。
![](https://img.haomeiwen.com/i24447700/1050bb120b40a0f3.png)
skiprows可以跳过指定的行里屏蔽不需要的数据或者注释行。
![](https://img.haomeiwen.com/i24447700/5ed6588f27752b57.png)
函数isnull判断数据是否存在空值。
![](https://img.haomeiwen.com/i24447700/be227e7af1a68c01.png)
python的csv模块可以有处理有单字符分隔符的数据。
![](https://img.haomeiwen.com/i24447700/276f067d2737bcb3.png)
2、pandas分块读取表格型数据
在对大数据操作前,可以对pandas的显示进行设置,防止一次读入大量数据到内存中。
![](https://img.haomeiwen.com/i24447700/ad622237cd2ca310.png)
可以通过nrows来指定一小部分行。
![](https://img.haomeiwen.com/i24447700/cea8c7c5dc6f832f.png)
chunksize指定每一块的行数,返回可迭代对象,允许根据chunksize来进行遍历。这样可以根据数据块来遍历处理,对于内存使用十分友好。
![](https://img.haomeiwen.com/i24447700/e5af414532154f81.png)
下面是根据chunksize来进行遍历后对key列进行聚合计算计数值。
![](https://img.haomeiwen.com/i24447700/463aff716689b4b4.png)
3、pandas写入文本文件
to_csv函数将数据导出到逗号分隔的csv文件 。
![](https://img.haomeiwen.com/i24447700/a3357cc3d93cb247.png)
4、JSON数据格式
json数据使用标准库中的json模块,将json数据通过json.loads载入到字典构成的列表,传入DataFrame构造函数并选出数据字段的子集。
![](https://img.haomeiwen.com/i24447700/b16af42f5989286b.png)
pd.read_json函数可以自动将json数据集按照指定顺序转为series或者dataframe 。to_json方法可以将数据到出为json。
![](https://img.haomeiwen.com/i24447700/ba32bcdfee73fd98.png)
5、EXCEL文件
read_excel可以读取excel文件中的数据,同时read_excel可以直接简洁的传入excel文件。
![](https://img.haomeiwen.com/i24447700/a722258869fd2d65.png)
to_excel可以将数据写入到excel文件,to_excel也可以直接传递文件路径。
![](https://img.haomeiwen.com/i24447700/a5c44000ec6f0679.png)
6、web api交互
requests.get发送一个http请求。
![](https://img.haomeiwen.com/i24447700/fa428f8ca95ac813.png)
将data传递给DataFrame,并提取需要的字段。
![](https://img.haomeiwen.com/i24447700/b0ad2390582f717c.png)
7、与数据库交互
将数据库查询返回的元组的列表传给DataFrame构造函数。
![](https://img.haomeiwen.com/i24447700/1f152e5e32dd6f4f.png)
pd.read_sql允许通过通用的sqlalchemy连接中方便的读取数据。sqlalchemy是一个python sql通用工具包,可以把关系数据库的表结构映射到对象上。
![](https://img.haomeiwen.com/i24447700/f070682a69dea87d.png)