pandas:开源BSD许可的python库,Python Pandas的官方网站是: http://pandas.pydata.org/
使用强大的数据结构提供高性能的数据操作和分析工具。Pandas:Panel Data - 多维数据的计量经济学
在pandas之前,python主要用于数据迁移和准备,对数据分析的贡献更小,使用pandas可以
完成数据处理和分析的五个典型步骤,而不管数据的来源-加载,准备,操作,模型和分析。
python pandas用于广泛的领域,包括金融、经济、统计、分析等学术和商业领域。
pandas库使用NumPy的大部分功能。
主要特点:
1.快速高效的DataFrame对象,具有默认和自定义的索引(DataFrame 类型类似于数据库表结构的数据结构,其含有行索引和列索引,可以将DataFrame 想成是由相同索引的Series组成的Dict类型。在其底层是通过二维以及一维的数据块实现。)
2.将数据从不同文件格式加载到内存中的数据对象的工具
3.丢失数据的数据对齐和综合处理
4.重组和摆动日期集
5.基于标签的切片,索引和大数据集的子集
6.可以删除或插入来自数据结构的序列
7.按数据分组进行聚合和转换
8.高性能合并和数据加入
9.时间序列功能
Pandas处理的三种数据结构:系列(Series)、数据帧(DataFrame)、面板(Panel),这些数据结构构件在Numpy数组之上,这意味着它们更快。
维数和描述:较高维数据结构是其较低伟数据结构的容器。eg:DataFrame是Series的容器,Panel是DataFrame的容器
--------------------------------------------------------------------------------------------------------
数据结构 维数 描述
系列 1 1 D标记均匀数组,大小不变
数据帧 2 一般2 D标记,大小可变的表结构与潜在的异质类型的列
面板 3 一般3 D标记,大小可变数组
----------------------------------------------------------------------------------------------------------
构建和处理两个或更多个维数组是一项繁琐的任务,用户在编写函数时要考虑数据集的方向,但是使用Pandas数据结构,减少了用户的思考。例如:使用表格数据(DataFrame),在语义上更有利于考虑索引(行)和列,而不是轴0和轴1。
可变性:所有pandas数据结构是值可变的(可更改),除了系列都是大小可变的。系列是大小不变的
(DataFrame被广泛使用,是最重要的数据结构之一,面板使用少得多)
系列是具有均匀数据的一维数组结构。例如,以下系列是整数:10
,23
,56
,...
的集合。
数据帧(DataFrame)是一个具有异构数据的二维数组。 例如,
姓名 | 年龄 | 性别 | 等级 |
---|---|---|---|
Maxsu | 25 | 男 | 4.45 |
Katie | 34 | 女 | 2.78 |
Vina | 46 | 女 | 3.9 |
Lia | 女 | x女 | 4.6 |
上表表示具有整体绩效评级组织的销售团队的数据。数据以行和列表示。每列表示一个属性,每行代表一个人。
列的数据类型
上面数据帧中四列的数据类型如下:
列 | 类型 |
---|---|
姓名 | 字符串 |
年龄 | 整数 |
性别 | 字符串 |
等级 | 浮点型 |
面板是具有异构数据的三维数据结构。在图形表示中很难表示面板。但是一个面板可以说明为DataFrame
的容器。
关键点
在测试pandas的简单应用时,不能把文件名直接命名为诸如pandas,numpy等,当以该名字命名后在更改名字时,注意要把原运行后的pyc后缀文件删除,否则会出现:
Traceback (most recent call last):
File "PADA.py", line 1, in
import pandas as pd
ImportError: bad magic number in 'pandas': b'\x03\xf3\r\n'
对象创建:
1.通过传递值列表来创建一个系列,让pandas创建一个默认的整数索引:
s=pd.Series([1,3,5,np.nan,6,8])
2.通过传递numpy数组,使用datetime索引和标记列来创建DataFrame: