python 数据分析笔记(四)

python 数据分析笔记(四)

【Python数据分析与展示】.MOOC. 北京理工大学

  • Pandas库的数据的排序

    • .sort_index(axis=0,ascending=True):在指定轴上根据索引进行排序,默认升序(axis默认为0,ascending表示递增排序,默认True)

    • 例:

      import pandas as pd
      import numpy as np
      b = pd.DataFrame(np.arange(20).reshape(4,5),index=['c','a','d','b']) #默认0轴进行运算
      b.sort_index()
      b.sort_index(ascending=False)
      c = b.sort_index(axis=1,ascending=False) #对c中按列序号进行降序排序
      c = c.sort_index()
      
    • .sort_values():在指定轴上根据数值进行排序,默认升序

      • Series.sort_values(axis=0,ascending=True)
      • DataFrame.sort_value(by,axis=0,ascending=True) #by: axis轴上某个索引或索引列表
    • 例:

      import pandas as pd
      import numpy as np
      b = pd.DataFrame(np.arange(20).reshape(4,5),index=['c','a','d','b'])
      c = b.sort_value(2,ascending=False)
      c = c.sort_values('a',axis=1,ascending=False)
      

      (NaN统一放到排序末尾)

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

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

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

      import pandas as pd
      a = pd.Series([9,8,7,6],index=['a','b','c','d'])
      a.describe()
      type(a.describe())
      a.describe()['count']
      a.describe()['max']
      
      import pandas as pd
      import numpy as np
      b = pd.DataFrame(np.arange(20).reshape(4,5),index=['c','a','d','b'])
      b.describe()
      type(b.describe())
      b.describe().loc['max'] #视频中是b.describe().ix['max'],运行报错,所以改成loc[]
      b.describe()[2]
      
    • 累计统计分析函数(适用于Series和DataFrame类型)

      方法 说明
      .cumsun() 依次给出前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','d','b'])
      b.cumsum()
      b.cumprod()
      b.cummin()
      b.cummax()
      
    • 滚动计算/窗口计算(适用于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','d','b'])
      b.rolling(2).sum()
      b.rolling(3).sum()
      

      python 数据分析笔记(四)_第1张图片

  • 数据的相关分析

    • 相关性:

      • X增大,Y增大,两个变量正相关
      • X增大,Y减小,两个变量负相关
      • X增大,Y无视不,两个变量相关
    • 协方差:

      • 协方差>0,X和Y正相关
      • 协方差<0,X和Y负相关
      • 协方差=0,X和Y独立无关
    • Pearson相关系数:在这里插入图片描述r取值范围:[-1,1]

      • 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、Kendal等系数
    • 例:(房价增幅与M2增幅的相关性)

      import pandas as pd
      hprice = pd.Series([3.04,22.93,12.75,22.6,12.33],index=['2008','2009','2010','2011','2012'])
      m2 = pd.Series([8.18,18.38,9.13,7.82,6.69],index=['2008','2009','2010','2011','2012'])
      hprice.corr(m2)
      

你可能感兴趣的:(Python,爬虫,python)