Pandas库的数据排序
Pandas库的数据排序
.sort_index()
方法在指定轴上根据索引进行排序,默认是使用升序
.sort_index(axis=0, ascending=True)
在pandas当中,对索引排序,就是对数据进行排序
.sort_values()
方法在指定轴上根据数值进行排序,默认升序
Series.sort_values(axis=0, ascending=True)
DataFrame.sort_values(by, axis=0, ascending=True)`` by
: axis轴上的某个索引或索引列表,比如在如下例子的时候,索引里面有x
,那么就可以在by
的位置可以写x
NaN统一放在排序的末尾
必须将NaN进行替换才能参与排序
基本统计分析
适用于Series和DataFrame的类型的分析方法如下表格
方法 | 说明 |
---|---|
. s u m ( ) .sum() .sum() | 计算数据的总和,按0轴计算,下同 |
. c o u n t ( ) .count() .count() | 非NaN值的数量 |
. m e a n ( ) . m e d i a n ( ) .mean() .median() .mean().median() | 计算数据的算术平均值、算术中位数 |
. v a r ( ) . s t d ( ) .var() .std() .var().std() | 计算数据的方差、标准差 |
. m i n ( ) . m a x ( ) .min() .max() .min().max() | 计算数据的最小值、最大值 |
适用于Series类型的方法如下
方法 | 说明 |
---|---|
. a r g m i n ( ) . a r g m a x ( ) .argmin() .argmax() .argmin().argmax() | 计算数据最大值、最小值所在位置的索引位置(自动索引) |
.idxmin() .idxmax()$ | 计算数据最大值、最小值所在位置的索引(自定义索引) |
有以下需要注意的
- 自动对索引进行保留
- 自定义索引不好做切片
统计分析函数
对于Series
和DataFrame
适用的类型有如下办法
方法 | 说明 |
---|---|
. d e s c r i b e ( ) .describe() .describe() | 针对0轴(各列)的统计汇总 |
统计分析函数使用实例
下面是具体的使用实例
数据的累计分析
累计统计分析函数
方法 | 说明 |
---|---|
. c u m s u m ( ) .cumsum() .cumsum() | 依次给出前1、2、…、n个数的和 |
. c u m p r o d ( ) .cumprod() .cumprod() | 依次给出前1、2、…、n个数的积 |
. c u m m a x ( ) .cummax() .cummax() | 依次给出前1、2、…、n个数的最大值 |
. c u m m i n ( ) .cummin() .cummin() | 依次给出前1、2、…、n个数的最小值 |
滚动计算,窗口计算
方法 | 说明 |
---|---|
. r o l l i n g ( w ) . s u m ( ) .rolling(w).sum() .rolling(w).sum() | 依次计算相邻w个元素的和 |
. r o l l i n g ( w ) . m e a n ( ) .rolling(w).mean() .rolling(w).mean() | 依次计算相邻w个元素的算术平均值 |
. r o l l i n g ( w ) . v a r ( ) .rolling(w).var() .rolling(w).var() | 依次计算相邻w个元素的方差 |
. r o l l i n g ( w ) . s t d ( ) .rolling(w).std() .rolling(w).std() | 依次计算相邻w个元素的标准差 |
. r o l l i n g ( w ) . m i n ( ) . m a x ( ) .rolling(w).min() .max() .rolling(w).min().max() | 依次计算相邻w个元素的最小值和最大值 |
累计统计分析函数具体使用实例
具体使用的方法如下
数据的相关分析
首先简单解释一下协方差,个人认为更加直观的理解方法是画出图像,这个大家可以在,某站上搜一搜
对两个事物 X X X和 Y Y Y之间对其存在性进行判断?
ρ X Y = C o v ( X , Y ) D ( X ) ⋅ D ( Y ) \rho _{XY}=\frac{\mathrm{Cov}\left( X,Y \right)}{\sqrt{D\left( X \right) \cdot D\left( Y \right)}} ρXY=D(X)⋅D(Y)Cov(X,Y)
ρ X Y = { 1 正相关 − 1 负相关 0 独立不相关 \rho _{XY}=\begin{cases} 1& \text{正相关}\\ -1& \text{负相关}\\ 0& \text{独立不相关}\\ \end{cases} ρXY=⎩
⎨
⎧1−10正相关负相关独立不相关
Person相关系数
对于两个事物 X X X和 Y Y Y判断其相关性
r = ∑ i = 1 n ( x i − x ˉ ) ( y i − y ˉ ) ∑ i = 1 n ( x i − x ˉ ) 2 ∑ i = 1 n ( y i − y ˉ ) 2 r=\frac{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)\left(y_{i}-\bar{y}\right)}{\sqrt{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}} \sqrt{\sum_{i=1}^{n}\left(y_{i}-\bar{y}\right)^{2}}} r=∑i=1n(xi−xˉ)2∑i=1n(yi−yˉ)2∑i=1n(xi−xˉ)(yi−yˉ)
r 值取 [ − 1 , 1 ] r值取[-1,1] r值取[−1,1]根据其绝对值的大小得分大小进行判断,越接近1则两个值越相关
相关分析函数
适用于Series和DataFrame类型
方法 | 说明 |
---|---|
. c o v ( ) .cov() .cov() | 计算协方差矩阵 |
. c o r r ( ) .corr() .corr() | 计算相关系数矩阵,Pearson,Spearman,Kendall等函数 |
具体使用实例
根据函数可以画出如下图像
单元小结
Pandas数据特征分析