【北京理工大学-Python 数据分析-3.2Pandas数据特征分析】

时间:2023-01-17 19:52:30

对一组数据的理解
数据摘要:通过以下方法:有损地提取数据特征的过程。

  • 基本统计(含排序)
  • 分布/累计统计
  • 数据特征
  • 相关性
  • 周期性等
  • 数据分析

Pandas库的数据排序

  • .sort_index(axis=0,asccending=True)。
  • .sort_index()方法在指定轴上根据索引进行排序,默认升序。
  • 对索引的操作就是对数据的操作。
import pandas as pd
import numpy as np
b=pd.DataFrame(np.arange(20).reshape(4,5),index=['c','a','b','d'])
b
b.sort_index()
b.sort_index(axis=0,ascending=False)##默认情况下是对0轴进行排序,二维就是行索引

【北京理工大学-Python 数据分析-3.2Pandas数据特征分析】

c=b.sort_index(axis=1,ascending=False)##对列的索引按照降序排列
c

【北京理工大学-Python 数据分析-3.2Pandas数据特征分析】

c=b.sort_index(axis=1,ascending=False)##对列所在索引进行降序排列
c

【北京理工大学-Python 数据分析-3.2Pandas数据特征分析】

c=c.sort_index()
c

【北京理工大学-Python 数据分析-3.2Pandas数据特征分析】

import pandas as pd 
import numpy as np
b=pd.DataFrame(np.arange(20).reshape(4,5),index=['c','a','b','d'])
b
c=b.sort_values(2,ascending=False)##按照第2列索引的数据大小按照降序进行排序
c
c=c.sort_values('a',axis=1,asccending='False')##对c按照a行的戴奥按照降序排列
c

【北京理工大学-Python 数据分析-3.2Pandas数据特征分析】
Pandas的基本统计分析函数
适用于Series和DataFrame类型

方法 说明
.sum() 计算数据的总和,按0轴计算,下同
.count() 非Na值的数量
.mean()/.median() 计算数据的算术平均值/算术中位数
.var()/.std() 计算数据的方差、标准差
.min()/.max() 计算数据的最小值和最大值

只适用于Series类型

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

基本的统计分析函数
适用于Series和DataFrame类型

方法 说明
.describe() 针对0轴(各列)的统计汇总
import pandas asss pd 
a=pd.Series([9,8,7,6],index-['a','b','c','d'])
a.describe()

【北京理工大学-Python 数据分析-3.2Pandas数据特征分析】

import pandas as pd
import numpy as np
b=pd.DataFrame(np.arange(20).reshape(4,5),index=['c','a','b','d'])
b.describe()##获得b的基本统计信息
b.describe()[2]##获得基本统计信息中第二行的信息

【北京理工大学-Python 数据分析-3.2Pandas数据特征分析】

【北京理工大学-Python 数据分析-3.2Pandas数据特征分析】
数据的累计分析
累计统计分析函数
适用于Series和DataFrame类型

方法 说明
.cumsum() 依次给出前1、2、…、n个数的和
.cumprod() 依次给出前1、2、…、n个数的积
.cummax() 依次给出前1、2、…、n个数的最大值
.cummin() 依次给出前1、2、…、n个数的最小值
import pandas as pd
import numpy as np
b=pd.DataFrame(np.arange(20).reshape(4,5),index=['c','a','b','d'])
b

【北京理工大学-Python 数据分析-3.2Pandas数据特征分析】

b.cumsum()##对前n个进行求和

【北京理工大学-Python 数据分析-3.2Pandas数据特征分析】

b.cumprod()##对b的前n行求积

【北京理工大学-Python 数据分析-3.2Pandas数据特征分析】

b.cummin()##前n行最小值

【北京理工大学-Python 数据分析-3.2Pandas数据特征分析】

b.cummax()##前n行的最大值

【北京理工大学-Python 数据分析-3.2Pandas数据特征分析】
滚动计算(窗口计算)
适用于Series和DataFrame类型,滚动计算(窗口计算)

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

举例

import pandas as pd
import numpy as np
b=pd.DataFrame(np.arange(20).reshape(4,5),index=['c','a','b','d'])
b.rolling(2).sum()##对相邻2行值求和
b.rolling(3).sum()##对相邻3行的值进行求和

【北京理工大学-Python 数据分析-3.2Pandas数据特征分析】
【北京理工大学-Python 数据分析-3.2Pandas数据特征分析】

相关性分析
两个事物,表示为X和Y,如何判断他们之间的存在相关性?
相关性

  • 正相关,X增大,Y增大,连个变量正相关。

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

  • 不相关,X增大,Y无视,两个变量不相关。
    如何判断两个数据是否具有相关性呢?
    协方差
    【北京理工大学-Python 数据分析-3.2Pandas数据特征分析】

  • 协方差>0,X和Y正相关。

  • 协方差<0,X和Y负相关。

  • 协方差=0,X和Y独立无关。
    Pearson相关系数
    【北京理工大学-Python 数据分析-3.2Pandas数据特征分析】
    其中r的范围在[-1,1]范围间,r的绝对值

  • 0.8-1.0极强相关

  • 0.6-0.8强相关

  • 0.4-0.6中等程度相关

  • 0.2-0.4弱相关

  • 0.0-0.2极弱相关或无关

相关分析函数
适用于Series和DataFrame类型

方法 说明
.cov() 计算协方差矩阵
.corr() 计算线管系数矩阵,Pearson,Spearman,Kendall等系数

【北京理工大学-Python 数据分析-3.2Pandas数据特征分析】
Pandas数据单元小结:
一组数据的摘要:
排序:.sort();.sort_values()
基本统计函数:.describe()
累计统计函数:.cum*();.rolling().*()
相关性分析函数:.corr();.cov()