1、介绍
Pandas是一个开源的,BSD许可的库(基于numpy),为Python编程语言提供高性能,易于使用的数据结构和数据分析工具。python
官方中文文档:https://www.pypandas.cn/docs/linux
本次演示使用数据来自github:https://github.com/jakevdp/PythonDataScienceHandbook/tree/master/notebooks/datagit
2、快速入门
1.导入github
2.重点数据结构编程
主要是series和dataframe数组
因此通常状况下咱们导入的是数据分析的三剑客:数据结构
numpy Series DataFrame:(若是只导入pd,那就正常使用pd.Series便可了)编程语言
from pandas import Series,DataFrame
3、Series
Series是Pandas中的一维数据结构,相似于Python中的列表和Numpy中的Ndarray,不一样之处在于:Series是一维的,能存储不一样类型的数据,有一组索引与元素对应。也就是加了索引的一维数据结构(索引不必定是0 1 2 3的数字)函数
1.建立工具
1)经过列表或者numpy数组进行建立,默认索引是0 1 2 3这样的整数索引。示例如上图
想要指定索引,能够设置index参数:(建立的时候指定也是能够的)
特别地,使用ndarray建立的series是引用,对series的改变会影响ndarray
2)由字典建立
Series主要分为index、values两块
2.索引和切片
1).使用index做为索引值(不推荐)
2)使用升级为Series以后的loc()函数(推荐)
3)使用隐式索引(不显式指定索引的内容值,经过相似ndarray的索引风格取数据)
4)切片,能够直接[]或者loc形式
3.Series基本概念
1)经常使用属性:index、values、shape(一维的,因此只能是一个元素的元组)、size
2)能够经过head()、tail()等查看头部和尾部数据(相似linux的命令),只看前5个或者后5个
3)索引没有对应的值时,值会出现NaN,也就是数据缺失的状况,在np中使用np.nan表示这个空值,python中就是None表示了
4)可使用 isnull()、notnull()来检测空值:
能够经过notnull()等进行空数据过滤:
s2 = s.notnull() # 如下取出的即是为True的非空数据 s[s2]
5)每一个Series都有一个name属性,能够在DataFrame中进行区分,在df中,也就至关于列名
6)Series运算
能够正常的进行加减运算,其中None值不会参与计算,而ndarray值为None时为报错,为np.nan时计算结果为nan
或者经过s1.add(10,fill_value= 0)等形式来控制NaN的默认值
两个Series之间也能够运算,不对齐的部分(也就是索引不相等的部分),补充NaN
要保留index不对齐的部分,可使用add()方法:,经过fill_value