【pandas】描述统计&简单作图
🗓 2017年10月18日 📁 文章归类: 0x12_特征工程
版权声明:本文作者是郭飞。转载随意,标明原文链接即可。
        
        原文链接:https://www.guofei.site/2017/10/18/pandas5.html
      
| 方法 | 说明 | 
|---|---|
| count | 非NaN值的数量 | 
| describe | 描述统计 | 
| min, max | 最值 | 
| idxmin, idxmax | 最值所在位置(loc) | 
| quantile | 分位数 | 
| sum | |
| mean | |
| median | 中位数 | 
| mad | 平均绝对离差 | 
| var | |
| std | |
| skew | 偏度(三阶矩) | 
| kurt | 峰度(四阶距) | 
| cumsum | |
| cumprod | |
| cummin, cummax | 累计最值 | 
| diff | |
| pct_change | 变化率(与上一列相比) | 
| corr | 相关系数矩阵df.corr(),se1.corr(se2),df.corr(se1) | 
描述统计
df.describe()
df.describe(include='all') # 对分类变量计算unique个数等,对字符串也有处理。
返回的是DataFrame格式的描述性统计数据
data.info() # DataFrame的简要情况
df.shape
运算函数
汇总
max, min, min, std, sum
能返回每一列统计量
- axis,指定运算轴
- level, 如果是MultiIndex, 指定对应的索引
- skipna,运算是否跳过NaN
最值所在位置
import pandas as pd
import numpy as np
df=pd.DataFrame(np.random.rand(16).reshape(-1,4),columns=list('wxyz'))
df.idxmax()
计算
add, sub,mul,div,mod
可以通过axis,level,fill_value等参数控制其运算行为。
统计
cut
数据准备
import pandas as pd
import numpy as np
df=pd.DataFrame(np.arange(16).reshape(-1,2),columns=list('wx'))
df
传入bins
- cut
    bins=[-np.inf,4,10,np.inf] pd.cut(df.w,bins)0 (-inf, 4.0] 
 1 (-inf, 4.0]
 2 (-inf, 4.0]
 3 (4.0, 10.0]
 4 (4.0, 10.0]
 5 (4.0, 10.0]
 6 (10.0, inf]
 7 (10.0, inf]
 Name: w, dtype: category
 Categories (3, interval[float64]): [(-inf, 4.0] < (4.0, 10.0] < (10.0, inf]]
- right=False: 选择右开还是闭,默认闭
- labels=[‘low’,’mid’,’hig’]: 给每个标签命名
    bins=[-np.inf,4,10,np.inf] pd.cut(df.w,bins,right=False,labels=['low','mid','hig'])0 low 
 1 low
 2 mid
 3 mid
 4 mid
 5 hig
 6 hig
 7 hig
 Name: w, dtype: category
 Categories (3, object): [low < mid < hig]
- 传入数字:按照区间等分n份
    pd.cut(df.w,4,precision=1)
qcut
- 传入区间:按照分位点切分
    from scipy.stats import norm df=pd.DataFrame(norm().rvs(size=(100)),columns=list('w')) pd.qcut(df.w,[-1,0.1,0.5,0.8,0.9,1]).value_counts()
- 传入数字:按样本数切分,每组样本数相同
    pd.qcut(df.w,4)count
df.count()
返回每列的非NaN的个数
value_counts
value_counts只能针对Series
df.loc[:,'x'].value_counts()
您的支持将鼓励我继续创作!
