Pandas是提供高性能易用数据类型和分析工具。
常使用的导入方式import pandas as pd
pandas基于numpy实现,常与numpy和matplotlib一同使用。
两个数据类型:Series,DataFrame
基于上述数据类型的各类操作,基本操作、运算操作、特征类操作、关联类操作。
numpy:基础数据类型,关注数据的结构表达,维度是数据间的关系。
pandas:扩展数据类型,关注数据的应用表达,数据与索引间关系。
Series类型由一组数据及与之相关的数据索引组成。
import pandas as pda = pd.Series([9,8,7,6])print(a) import pandas as pda = pd.Series([9,8,7,6],index=['a','b','c','d']) #自动索引print(a)可创建Series的类型:
python列表python字典标量值ndarray其他函数基于ipython的交互环境
字典类型的创建从ndarray类型创建
Series类型
Series类型可以创建的类型:- Python列表,index与列表元素个数一致- 标量值,index表达Series类型的尺寸- Python字典,键值对中的“键”是索引,index从字典中进行选择操作- ndarray,索引和数据都可以通过ndarray类型创建- 其他函数,range()函数等Series类型的基本操作
Series类型包括index和values两部分,操作可以类似ndarray和python字典类型。
.index 获得索引。.values 获得数据。
对齐操作
Series类型在运算中会自动对齐不同索引的数据
Series对象和索引都可以有一个名字,存储在属性.name中
Series对象可以随时修改并即刻生效
Series是一维带 标签 数组,基本操作类似ndarray和字典,根据索引对齐。
DataFrame类型由共用相同索引的一组列组成。
DataFrame是一个表格型的数据类型,每列值类型可以不同。
DataFrame既有行索引、也有列索引。
DataFrame常用于表达二维数据,但可以表达多维数据。
DataFrame类型可以由如下类型创建:
二维ndarray对象由一维ndarray、列表、字典、元组或Series构成的字典Series类型其他的DataFrame类型从二维ndarray对象创建
从一维ndarray对象字典创建
从列表类型的字典创建
DataFrame是二维带“标签”数组,基本操作类似Series,依据行列索引。
pandas库的数据类型操作改变Series和DataFrame对象,增加或重排,重新索引,删除drop。
.reindex()能够改变或重排Series和DataFrame索引
Series和DataFrame的索引是Index类型,Index对象是不可修改类型
索引类型常用的方法.append(idx) 连接另一个Index对象,产生新的Index对.diff(idx) 计算差集,产生新的index对象.intersection(idx) 计算交集.union(idx) 计算并集.delete(loc) 删除loc位置处的元素.insert(loc,e) 在loc位置增加一个元素e.drop()能够删除Series和DataFrame指定行或列索引
数据类型运算算数运算法则
算术运算根据行列索引,补齐后运算,运算默认产生浮点数
补齐时缺项填充NaN (空值)
二维和一维、一维和零维间为广播运算
采用+‐*/符号进行的二元运算产生新的对象
方法形式的运算方法.add(d, **argws) 类型间加法运算,可选参数.sub(d, **argws) 类型间减法运算,可选参数.mul(d, **argws) 类型间乘法运算,可选参数.div(d, **argws) 类型间除法运算,可选参数
比较运算
比较运算只能比较相同索引的元素,不进行补齐
二维和一维、一维和零维间为广播运算
采用 >< >= <= == !=等符号进行的二元运算产生布尔对象
Series = 索引 + 一维数据
DataFrame = 行列索引 + 二维数据