Pandas概述

简介: Pandas概述

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
相关文章
|
1月前
|
数据采集 数据可视化 数据挖掘
Pandas 简介
10月更文挑战第25天
37 6
|
7月前
|
数据采集 索引 Python
Pandas之DataFrame,快速入门,迅速掌握(二)
Pandas之DataFrame,快速入门,迅速掌握(二)
150 0
|
7月前
|
SQL 数据库 索引
Pandas之DataFrame,快速入门,迅速掌握(三)
Pandas之DataFrame,快速入门,迅速掌握(三)
|
7月前
|
数据挖掘 索引 Python
|
7月前
|
编译器 索引 Python
Pandas之DataFrame,快速入门,迅速掌握(一)
Pandas之DataFrame,快速入门,迅速掌握(一)
146 0
|
数据采集 资源调度 Python
pandas 高级(二)
本文其实属于:Python的进阶之道【AIoT阶段一】的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 pandas 高级,读本文之前建议先修:pandas 入门,后续还会发出一篇 pandas 进阶供读者进行进一步的学习了解。
181 0
pandas 高级(二)
|
Python
pandas 高级(三)
本文其实属于:Python的进阶之道【AIoT阶段一】的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 pandas 高级,读本文之前建议先修:pandas 入门,后续还会发出一篇 pandas 进阶供读者进行进一步的学习了解。
112 0
pandas 高级(三)
|
数据库 开发者 索引
|
Python
pandas 高级(七)
本文其实属于:Python的进阶之道【AIoT阶段一】的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 pandas 高级,读本文之前建议先修:pandas 入门,后续还会发出一篇 pandas 进阶供读者进行进一步的学习了解。
202 0
pandas 高级(七)
|
Python
pandas 高级(五)
本文其实属于:Python的进阶之道【AIoT阶段一】的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 pandas 高级,读本文之前建议先修:pandas 入门,后续还会发出一篇 pandas 进阶供读者进行进一步的学习了解。
152 0
pandas 高级(五)
下一篇
DataWorks