Pandas是一个基于Numpy的数据分析包,这个库就是为数据分析而生的,你能够像操做Excel同样操做Pandas,实现数据的选择排序、筛选过滤、统计分析等功能,实际上,Pandas就是Python中的Excel,在学习Pandas以后你会更加深入的理解这句话是多么的形象准确的。数组
为了简化表示,本文示例中的pd表示pandas库,即import pandas as pd。数据结构
1、基础数据结构DataFrame和Seriesapp
Pandas中最基础的数据结构就是DataFrame和Series,从数组的角度理解,能够将DataFrame看做是二维数组,将Series看做是一维数组,固然,最直观的理解就是DataFrame是一个Excel表格,由行索引、列名和数据(二维数组)组成,而Series是则表中的一列数据,只有行索引和数据(一维数组)两部分。学习
1. 建立DataFrame和Seriesspa
一个DataFrame能够看做是由行索引、列名及数据(二维数组)三部分构成,对于行索引,在Pandas中的处理是比较特殊的,好比有n行数据,默认状况下,行索引会是咱们熟悉的从0到n-1的索引号,可是咱们也能够本身指定每一行的行索引,或者说是行标签,经过行标签一样也能取到对应行的数据。固然,列名若是没有指定,一样是0到n-1的序号。3d
经过列表建立DataFrame:对象
经过字典建立DataFrame:blog
经过文件建立DataFrame:排序
csv文件数据索引
代码示例
经过列表建立Series:
2. 查看DataFrame和Series
DataFrame和Series对象有许多快速查看自身信息的属性和方法,由于Series的许多属性和方法与DataFrame都是类似的,因此这里就只列一些DataFrame中比较经常使用的:
简单示例:
2、索引操做
这里说的索引指的是行索引或者说行标签,Pandas中关于行索引有许多巧妙且实用的用法,能帮助咱们更好的进行数据分析,具体见示例代码。
对于索引的使用,便可以像Numpy中那样去操做Pandas中的索引,也可使用iloc()方法和loc()方法去操做索引,区别在于iloc()方法只能用于原始的0到n-1索引,而loc()方法能够将本身指定的行标签像索引同样去操做,具体见示例代码。
3、经常使用方法
由于Pandas的核心是Numpy库,因此Numpy中的一些特点用法在Pandas中也是可使用的,好比经过算术运算符实现对每一个元素的加减乘除等操做,以及使用max、mean等统计方法在Pandas中也都是支持的。
如下列举一些DataFrame和Series的经常使用操做和方法(具体的参数使用请参考对应的帮助文档或官方API文档),为了简化表示,df表明DataFrame对象,s表明Series对象,具体使用效果见示例代码。
4、SQL功能
Pandas中有一些方法能实现像SQL同样的功能,如groupby方法能够实现SQL中的分组功能,merge方法能够实现SQL中的表链接功能,具体见示例代码。
5、透视表
所谓透视表,就是使用pivot()方法或pivot_table()方法从本来的表格中抽取三列内容并将其转换为另外一个表格,以便更直观、更方便地去观察和分析这三列数据,具体效果看了示例就明白了。
6、时间处理
Pandas中有一套本身的时间字符串处理方法,并且使用起来也很方便,如pd.Timestamp()能够将字符串转换为时间戳,pd.Timedelta()能够进行时间的加减运算,pd.to_datetime()能够将字符串转换为日期。若是遇到了时间格式字符串,建议优先考虑Pandas自带的时间处理方式。
7、批量处理map和apply
若是想要对表格中某行或某列的全部元素执行同一个操做,可使用map()方法, 而想要对表格中全部行或全部列都执行同一个操做,则可使用apply()方法。