zoukankan      html  css  js  c++  java
  • Pandas统计分析

    Pandas统计分析

    pandas数据的基本统计分析

    和numpy的函数近似

    dates = pd.date_range('20130101',periods=10)
    dates
    df = pd.DataFrame(np.random.randn(10,4),index=dates,columns=['A','B','C','D'])
    df
    
    df.describe() #快速统计结果
    df.mean() # 按列求平均值
    df.mean(1) # 按行求平均值

    基本统计分析函数

    • .describe() 针对0轴(列)的统计汇总,计数/平均值/标准差/最小值/四分位数/最大值
    • .sum() 计算数据的总和,按0轴计算(各行计算),下同,要按列计算参数1
    • .count() 非NaN值数量
    • .mean() .median() .mode() 计算数据的算数平均值/算数中位数/众数
    • .var() .std() 计算数据的方差/标准差
    • .min() .max() 计算数据的最小值/最大值

    只适用于series:

    • .argmin(),.argmax() 计算数据最大值/最小值所在位置的索引位置(自动索引,用她是因为很容易切片等操作)
    • .idxmin(),.idxmax() 计算数据最大值/最小值所在位置的索引(自定义索引)
    a = pd.Series([9,8,7,6],index=['a','b','c','d'])
    a
    b = pd.DataFrame(np.arange(20).reshape(4,5),index=['c','a','d','b'])
    b
    
    a.describe()
    type(a.describe()) #series对象
    a.describe()['count']
    
    b.describe() #默认0轴运算
    type(b.describe()) #dataframe对象
    
    #返回横行数据,series
    b.describe().loc['max']
    b.describe().iloc[7]
    
    #返回一列值,这里第2列
    b.describe()[2]
    #b.describe()[2]
    b.describe().loc[:,2]

    数据的累计统计分析

    • 对序列的前1-n个数累计运算
    • 可减少for循环的使用

    累计统计分析函数,适用于series和dataframe类型

    • .cumsum() 依次给出前1/2/.../n个数的和
    • .cumprod() 依次给出前1/2/.../n个数的积
    • .cummax() 依次给出前1/2/.../n个数的最大值
    • .cummin() 依次给出前1/2/.../n个数的最小值
    b = pd.DataFrame(np.arange(20).reshape(4,5),index=['c','a','d','b'])
    b
    
    b.cumsum() #列的累加和
    b.cumprod() #列的累加积

    滚动计算(窗口计算)函数

    适用series/dataframe

    • .rolling(w).sum() 依次计算相邻w个元素的和
    • .rolling(w).mean() 依次计算相邻w个元素的算数平均值
    • .rolling(w).var() 依次计算相邻w个元素的方差
    • .rolling(w).std() 依次计算相邻w个元素的标准差
    • .rolling(w).min .max() 依次计算相邻w个元素的最小值/最大值
    b.rolling(2).sum() #纵向列,以两个元素为单位,做求和运算
    b.rolling(3).sum()
  • 相关阅读:
    json的序列化与反序列化
    Npoi简单读写Excel
    Halcon一维运算相关算子整理
    C#委托的介绍(delegate、Action、Func、predicate)
    设计模式
    Halcon 和 C# 联合编程
    UVA-11324 The Largest Clique (强连通+DP)
    UVALive-4287 Proving Equivalences (有向图的强连通分量)
    UVALive-5135 Mining Your Own Business (无向图的双连通分量)
    UVALive-3523 Knights of the Round Table (双连通分量+二分图匹配)
  • 原文地址:https://www.cnblogs.com/yoyo1216/p/10131759.html
Copyright © 2011-2022 走看看