今天我们来学习数据导入,需要使用到Pandas模块。
模块相当于是一个文件夹,它能够用于存放同个主题相关的Python代码段,包括定义函数、类和变量。
例如将数据处理相关的函数都存放在一个模块里,将数据分析相关的函数都存放在一个模块里,将数据可视化相关的函数都存放在一个模块里。这样就可以在其他有需要的地方进行调用,在编写程序的时候,经常需要引用其它模块。
你可以将Excel菜单中的每个选项卡 看成是一个模块,例如数据选项卡下就包含了数据获取和转换、连接、排序和筛选、数据工具等功能。只是它以图形界面的方式供我们选择使用。
而Python中的模块一般看不见摸不着,需要在使用的时候进行导入使用,所以对初学者来说不算太友好,这也是大家认为Python难学的原因之一。
另外Python中模块的概念,在 Java 中称之为包(package),而在 CC++中则称之为库(library),Java和CC++都是程序员常用的编程语言,所以有些程序员就会把Python 中的模块混淆称之为包和库,你只要明白它们说的是一回事即可。
原来是这么回事,那Pandas模块又是什么?
Pandas模块是Python的一个数据分析模块,它最初被用作金融数据分析工具而开发出来,所以Pandas为时间序列分析提供了很好的支持。为了提供高效操作大型数据集的工具,Pandas提出了一套类似Excel的标准数据应用框架,包含了类似Excel表格的数据框DataFrame,以及快速便捷地处理数据的函数和方法,让数据分析整个过程变得快速、简单。可以毫不夸张地说,Pandas是Python中进行数据分析的最好工具。
Pandas模块怎么使用呢?它在哪呢?
在安装Anaconda的时候,都已经一起安装好了,我们只需把它导入就可以使用了,主要有两种使用方法:
第一种是使用import语句进行导入。
import 模块名
这是模块导入最常使用的方法,模块导入后,就可以通过使用 模块名.变量名调用模块中的变量,使用 模块名.函数名 调用模块中的函数。
第二种是使用 from import 语句进行导入。
from 模块名 import 函数名
这种情况就是明 确知道要导入哪个模块哪个函数或变量的时候使用。使用这种导入的方式,在使用函 数或变量的时候,就不用在前面加上对应的模块名了。
那我们是不是可以导入Pandas模块了?
可以,不过不用那么急,我们先来看我们要导入的数据data.csv,先使用Notepad++打开查看数据是什么样子的:
这份数据是一份用户数据,记录了用户的id,注册日期reg_date,用户的身份证号id_num,性别gender,生日birthday,年龄age六个字段数据,每个字段使用英文逗号分隔。
还有一个很重要的信息,就是这份数据采用UTF-8的编码格式记录数据。
UTF-8是互联网上使用最广的一种unicode的实现方式,为传输而设计的编码,最大的特点是统一无国界,可以显示全世界上所有文化的字符。
现在我们可以来导入数据了,打开spyder,输入以下代码
我给代码加上对应的注释,使用#来添加注释,这样解析器就不会执行注释所在的行的内容。你再看看。
在变量浏览窗口中就可以看到刚导入的data变量了,双击打开data变量,就可以得到下面这张表。
导入TXT与EXCEL数据文件
首先是导入TXT数据文件,使用的是Pandas模块中的read_table函数,数据还是与昨天一样,只是存为了TXT文件。有了昨天CSV数据文件的导入经验,导入TXT数据文件就轻车熟路了,打开spyder,输入以下代码
这个比导入CSV文件多了个参数SEP,是设置列分隔符的意思吧?
同样我给代码加上对应的注释,使用#来添加注释,这样解析器就不会执行注释所在的行的内容。
在变量浏览窗口中就可以看到刚导入的data变量了,双击打开data变量,就可以得到下面这张表。
接下来是导入EXCEL数据文件,使用的是Pandas模块中的read_excel函数,输入以下代码
在变量浏览窗口中就可以看到刚导入的data变量了,双击打开data变量,就可以得到下面这张表。
你发现没有,id、age这两列都有不同颜色标识。
因为这两列数据类型为整数型,你看打开的这个数据框最下面有一个 Background color选项被勾选上,这个功能相当于Excel条件格式中的色阶功能,它仅对整数型、浮点型有效,对其他数据类型无效。
我们可以使用下列命令查看下每列的数据类型
可以看到只有id、age是int64型,其他都是object类型
今天就到这,下次我们继续学习其他操作,回去要多多练习,多敲代码。
最后多说一句,小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。