Pandas(Python Data Analysis Library )是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。
Pandas是Python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的一部分。Pandas最初被作为金融数据分析工具而开发出来。
Pandas含有使数据分析工作变得更快更简单的高级数据结构和操作工具。pandas是基于Numpy构建的,让以Numpy为中心的应用变得更简单。
Pandas专用于数据预处理和数据分析的Python第三方库,最适合处理大型结构化表格数据
- Pandas是2008年Wes McKinney于AQR资本做量化分析师时创建
- Pandas借鉴了R的数据结构
- Pandas基于Numpy搭建,支持Numpy中定义的大部分计算
- Pandas含有使数据分析工作更简单高效的高级数据结构和操作工具
- Pandas底层用Cython和C做了速度优化,极大提高了执行效率
Pandas引入约定:
from pandas import Series, DataFrame import pandas as pd
1.1.1. Python、Numpy和Pandas对比
Python
- list:Python自带数据类型,主要用一维,功能简单,效率低
- Dict:Python自带数据类型,多维键值对,效率低
Numpy
- ndarray:Numpy基础数据类型,单一数据类型
- 关注数据结构/运算/维度(数据间关系)
Pandas
- Series:1维,类似带索引的1维ndarray
- DataFrame:2维,表格型数据类型,类似带行/列索引的2维ndarray 关注数据与索引的关系(数据实际应用)
从实用性、功能强弱和和可操作性比较:list < ndarray < Series/DataFrame
数据规整和分析工作中,ndarry数组作为必要补充,大部分数据尽量使用Pandas数据类型.
1.1.2. Pandas数据结构
Pandas的核心为两大数据结构,数据分析相关所有事物都是围绕着这两种结构进行的:
- Series
- DataFrame Series这样的数据结构用于存储一个序列的一维数据,而DataFrame作为更复杂的数据结构,则用于存储多维数据。
虽然这些数据结构不能解决所有的问题,但它们为大多数应用提供了有效和强大的工具。就简洁性而言,他们理解和使用起来都很简单。
两种数据结构奇特之处是讲索引对象和标签整合到自己的结构中,使得两种数据结构都具有很强的可操作性.
2. Series
Series是一种类似于一维数组的对象,它由一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据即可产生最简单的Series.
2.1.1. Series示例
Series的字符串表现形式为:索引在左边,值在右边。由于我们没有为数据指定索引,于是会自动创建一个0~N-1的整数索引。我们可以通过Series的index和values属性获取索引和值的数组表现形式。
import pandas as pd pd.Series([i for i in range(1,6)])
输出结果为:
0 1 1 2 2 3 3 4 4 5 dtype: int64