pandas库相关知识

pandas库

pandas库函数速查表

在这里插入图片描述

pandas数据类型

两个数据类型:Series,DataFrame

可以进行基本操作、运算操作、特征类操作、关联类操作

Numpypandas
基础数据类型扩展数据类型
关注数据的结构表达关注数据的应用表达

Series类型

由一组数据及与之相关的数据索引组成。

Series类型可由如下类型创建
  • python列表
b = pd.Series([9,8,7,6],index=['a','b','c','d'])  # 自定义索引值 
  • 标量值 (不能省略index=)
b = pd.Series(25,index=['a','b','c','d'])  
  • python字典
d = pd.Series({'a':9,'b':8,'c':7}) # index从字典中进行选择操作 
e = pd.Series({'a':9,'b':8,'c':7},index=['c','a','b','d']) 
# 结果 
c    7.0 
a    9.0 
b    8.0 
d    NaN 
dtype: float64 
  • ndarray
n = pd.Series(np.arange(5)) n = pd.Series(np.arange(5),index=np.arange(9,4,-1)) 
  • 其他函数
d = pd.Series(range(20))
Series类型的基本操作

包括index和values两部分

b = pd.Series([9,8,7,6],index=['a','b','c','d']) 
b.index

> > > Index(['a', 'b', 'c', 'd'], dtype='object')
> > > b.values
> > > array([9, 8, 7, 6], dtype=int64)
> > > b['b']  # 自定义索引
> > > 8
> > > b[1]   # 自动索引
> > > 8

# 两套索引并存,但不能混用

b[['a','d',0]]
a    9.0
d    6.0
0    NaN
dtype: float64

b[['c','d','a']]
c    7
d    6
a    9
dtype: int64

Series类型的操作类似ndarray类型

  • 索引方法相同,采用[]
  • Numpy中运算和操作可用于Series类型
  • 可以通过自定义索引的列表进行切片
  • 可以通过自动索引进行切片,如果存在自定义索引,则一同被切片

Series类型的操作类似python字典类型

  • 通过自定义索引访问
  • 保留字in操作
  • 使用.get()方法

Series类型对齐操作

Series类型在运算中会自动对齐不同索引的数据

相同索引值的元素进行计算

a = pd.Series([1,2,3],['c','d','e']) 
b = pd.Series([9,8,7,6],index=['a','b','c','d'])  

a+b 
# 结果
a    NaN 
b    NaN 
c    8.0 
d    8.0 
e    NaN 
dtype: float64 

Series类型的name属性

series对象和索引都可以有一个名字,存储在属性.name中。

b = pd.Series([9,8,7,6],index=['a','b','c','d'])  
b.name = 'Series对象' 
b.index.name = '索引列'  
b 

# 结果
索引列 
a    9 
b    8 
c    7 
d    6 
Name: Series对象, dtype: int64 

DataFrame类型

DataFrame是一个表格型的数据类型,每列值类型可以不同

DataFrame常用于表达二维数据,但也可以表达多维数据

行索引 index axis=0

列索引 column axis=1

DataFrame类型可由如下类型创建
  • 二维ndarray对象
d = pd.DataFrame(np.arange(10).reshape(2,5)) 
  • 由一维ndarray、列表、字典、元组或Series构成的字典
dt = {'one':pd.Series([1,2,3],index=['a','b','c']),      'two':pd.Series([9,8,7,6],index=['a','b','c','d'])} 
d = pd.DataFrame(dt) 
d 
pd.DataFrame(dt,index=['b','c','d'],columns=['two','three'])  

d1 = {'one':[1,2,3,4],'two':[9,8,7,6]} 
d = pd.DataFrame(d1,index=['a','b','c','d'])  
d.index 
d.columns 
d.values 
d.ix['index']  # 获取一行数据 
  • Series类型
  • 其他的DataFrame类型

pandas库的数据类型操作

重新索引
df.reindex(index= ,columns= )   # 能够改变或重排Series和DataFrame索引 
参数说明
index,columns新的行列自定义索引
fill_value重新索引中,用于填充缺失位置的值
method填充方法,ffill当前向前填充,bfill向后填充
limit最大填充量
copy默认True,生成新的对象,False时,新旧相等不复制
newc = d.columns.insert(4,'新增') 
newd = d.reindex(columns=newc,fill_value=200) 
索引类型常用的方法
方法说明
.append(idx)连接另一个Index对象,产生新的Index对象
.diff(idx)计算差集,产生新的Index对象
.intersection(idx)计算交集
.union(idx)计算并集
.delete(loc)删除loc位置处的元素
.insert(loc,e)在loc位置增加一个元素e
删除指定索引对象
df.drop()   # 能够删除Series和DataFrame指定行或列索引 

a.drop(['b','c']) 
d.drop('c5') 
d.drop('同比',axis=1) 

pandas库的数据类型运算

算数运算法则
  • 根据行列索引,补齐后运算,运算默认产生浮点数
  • 补齐时缺项填充NaN(空值)
  • 不同维度(二维和一维、一维和零维间)为广播运算

一维Series默认在轴1参与运算

  • 采用±*/符号进行的二元运算产生新的对象
方法说明
.add(d,**argws)类型间加法运算,可选参数
.sub(d,**argws)类型间减法运算,可选参数
.mul(d,**argws)类型间乘法运算,可选参数
.div(d,**argws)类型间除法运算,可选参数
比较运算法则
  • 比较运算只能比较相同索引的元素,不进行补齐
  • 不同维度(二维和一维、一维和零维间)为广播运算
  • 采用> < >= <= == !=等符号进行的二元运算产生布尔对象

pandas库的数据排序

# 在指定轴上根据索引进行排序,默认升序 
d.sort_index(axis=0,ascending=True) 

# 在指定轴上根据数值进行排序,默认升序 
Series.sort_values(axis=0,ascending=True) DataFrame.sort_values(by,axis=0,ascending=True) 
# by:axis轴上的某个索引或索引列表  

# NaN统一放到排序末尾 


数据基本统计分析

基本的统计分析函数

适用于Series和DataFrame类型

方法说明
.sum()计算数据的总和,按0轴计算,下同
.count()非NaN值的数量
.mean() .median()计算数据的算数平均值、算数中位数
.var() .std()计算数据的方差、标准差
.min() .max()计算数据的最小值、最大值
.describe()针对0轴(各列)的统计汇总

适用于Series类型

方法说明
.argmin() .argmax()计算数据最大值、最小值所在位置的索引位置(自动索引)
.idxmin() .idxmax()计算数据最大值、最小值所在位置的索引位置(自定义索引)
数据的累计统计分析

累计统计分析函数

适用于Series和DataFrame类型

方法说明
.cumsum()依次给出前1、2、… 、n个数的和
.cumprod依次给出前1、2、… 、n个数的积
.cummax()依次给出前1、2、… 、n个数的最大值
.cummin()依次给出前1、2、… 、n个数的最小值

滚动计算(窗口计算)

方法说明
.rolling(w).sum()依次计算相邻w个元素的和
.rolling(w).mean()依次计算相邻w个元素的算术平均值
.rolling(w).var()依次计算相邻w个元素的方差
.rolling(w).std()依次计算相邻w个元素的标准差
.rolling(w).min() .max()依次计算相邻w个元素的最小值和最大值
数据的相关分析

相关性

  • X增大,Y增大,两个变量正相关。
  • X增大,Y减小,两个变量负相关。
  • X增大,Y无视,两个变量不相关。

协方差度量两个变量的相关性

  • 协方差>0,X和Y正相关。
  • 协方差<0,X和Y负相关。
  • 协方差=0,X和Y独立无关。

pearson相关系数

相关分析函数

方法说明
.cov()计算协方差矩阵
.corr()计算相关系数矩阵,pearson、spearman、kendall 等系数
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值