首页 > 代码库 > 6-感觉身体被掏空,但还是要学Pandas(上)

6-感觉身体被掏空,但还是要学Pandas(上)

关注群主朋友圈的人都知道,本周群主过得RIO充实,每天工作到半夜写爬虫,先后写了Linkedin,生E经、生意参谋以及淘宝关键词搜索结果等爬虫。记得去年写工商信息爬虫时是灰头土脸的,虽然每爬一次随机sleep几秒,但还是频繁被封!对比之下,爬淘宝是相当愉快的,爬爬歇歇是spider基本礼仪,淘宝也回馈我一个process finished with exit code 0。这真是一个好兆头,感觉积攒多年的人品要爆发了!

 

虽说是劳累的一周,感觉身体被掏空,但还是要打起精神来学Pandas。因为它在Python机器学习中的角色实在太重要啦!Pandas包含高级的数据结构和精巧的工具,使得在Python中处理数据非常快速和简单(为啥叫熊猫呢?群主也百思不得其解。Python + DAta ANalysiS?感觉脑袋被掏空……)

 

千里之行始于足下,万丈高楼起于砖头。让我们撸起袖子加油干,一起努力搬砖吧ヾ(o???)?

 

Pandas引进了两种新的数据类型:Series(序列)和DataFrame(数据框),都是基于Numpy构造的(意思是操作起来很高效!List的元素可以是任何对象,所以需要同时保存指针和数值;而Array的数据类型是一致的,可以直接在内存中保存数值,比较节约内存和CPU计算时间)。

 

 

技术分享

 

1

Series对象

 

Series是一维数据结构,类似数组(Array)、列表(List)、表格中的一列(Column)。它给每个元素分配一个类似标签的索引(Index)。默认索引是从0开始的自然数。

 

技术分享

 

也可以给索引赋字符串类型的值,并给序列取名:

技术分享

技术分享

 

Series中对于值的描述性统计相关函数如下:

 

技术分享

 

俗话说:文不如表,表不如图。下面我们来学习如何利用Series作图!

技术分享

比较复杂的一个例子(含折线图、柱状图、箱线图、饼图),请点击查看原图:

技术分享

 

2

 DataFrame对象

 

DataFrame是由行和列组成的表格式数据结构,类似 Excel或数据库中的表格, 每一列里是一样的数据类型, 列和列之间数据类型可以不一样。DataFrame可以看作一组Series的集合(每个Series是一列数据,并且所有列共享行索引)。

 

最简单的DataFrame初始化方法(可以看作4行2列的表格):

 

技术分享

 

为DataFrame设定行索引名和列名:

技术分享

 

比较复杂的DataFrame初始化方法(同时设定行索引、列名):

技术分享

 

另一种字典式的DataFrame初始化方法(key是列名,value是每一列的值):

技术分享

 

DataFrame中的重要属性(行索引,列索引,值):

技术分享

 

访问DataFrame中的某一列(把列索引当成属性或字典的键值):

技术分享

 

通过ix定义灵活多变的多维索引(城市套路深,我要回农村?_?):

技术分享

技术分享

 

DataFrame的描述性统计相关函数如下:

技术分享

 

窥一斑以见全豹:

技术分享

 

写完这些,感觉思想得到了净化,灵魂得到了升华……希望小伙伴们看完也有同感。下周讲Pandas中操作大型数据集(从CSV文件读取数据)和时间序列(Time series),敬请期待:)

6-感觉身体被掏空,但还是要学Pandas(上)