【每天几分钟,从零入门python编程的世界!】
我们之前绘图所用的数据基本都是通过自己手写输入到Python里面的,但是实际工作中都是把外部数据,导入到Python的环境里面进行数据分析的。对外部数据进行分析,我们就要用到pandas这个工具,它是一个非常强大的数据处理工具。
现在我们用pandas去读取外部数据(相当于引入外部数据),假设我们的外部数据保存在一个叫simple_data.csv的文件中。
还记得csv是什么吗?csv(Comma-Separated Values)就是逗号分隔值,其实分隔符也可以不是逗号,用其他字符作为分隔符也是可以的,所以csv也叫字符分隔值。
csv文件是以纯文本形式储存表格数据的。也就是说csv文件的原始文件格式是纯文本,即我们可以用记事本这样的文本编辑器打开它。同时csv保存的数据格式跟Excel表格相似,所以csv格式的文件能用Excel打开。我们用记事本打开simple_data.csv这个文件,如下:
我们用Excel打开simple_data.csv,如下:
我们看到,用Excel打开的时候,无非就是给数据套了个表格而已。
现在我们先用pandas读取一下simple_data.csv里面的数据。
代码如下:
代码说明:
read_csv()是读取csv格式的文件数据。
read_csv()的参数“simple_data.csv”是要读取的csv文件的相对路径,因为为了演示方便,我把simple_data.csv这个文件,和保存上图中代码的文件data_visual.py放在同一个文件夹中,所以相对路径可以这样写,所谓相对路径,就是simple_data.csv这个文件相对于data_visual.py这个文件的位置,理解相对路径了吗?
代码运行结果:
如上图,我们看到把simple_data.csv中的数据在Spyder中print出来,跟原始文件中差不多一样,无非是Spyder中打印的结果最左边多了一列数字:0-19,这是每一组用逗号分隔开的数据的索引。所有编程语言中,索引都是从0开始计数。
现在我们想要知道simple_data.csv中保存的这些数据到底是什么东西,我们用type()这个函数去判断下这些数据,然后打印出来:
运行结果如下:
我们看到把这些数据判断之后打印的结果是:
即“pandas的核心的框架的以命名列方式组织的分布式数据集”,这个翻译可能不准,没关系,我们大概先把它理解为具有索引的结构化的数据集合。具体的概念后续再去深入。
接下来我们想找到这个simple_data.csv中的某一个数据,怎么做呢?
其实跟我们在Excel表格中找到某一个数据原理一样:
在Excel中,我们根据数据所在第几行第几列就能找到它,那么用pandas也是一样的原理,比如说我想找到这个数:
上图的这个18位于column_a这一列,同时位于第18行,因为索引从0开始计数,所以我们看到18这个数字是第18行,它的索引是17。
因此代码如下:
代码说明:
data1就是我们用pandas从simple_data.csv中读取出来的数据集,
column_a就是我们要找的18这个数字,在data1这个数据格式中的所在的列,
iloc是pandas中基于索引的整型数字进行定位的属性,这个数字位于18行,索引是17。
代码运行后打印出来就是18。
当我们能通过pandas找到一个文件中的数据,以及数据的行和列,那么我们就可以把像Excel表格的形式排版的外部文件,包括Excel表格文件,把这些文件里面想要抓取的数据抓取出来,然后用抓取出来的数据绘制图表进行分析,是不是很炫酷!
我是时问新,欢迎关注我。跟我一起从零开始学习Python,每天花一点时间,开启python编程新世界的大门,领略新的风光,让人生多一种可能!