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()
      

      在这里插入图片描述

  • 数据的相关分析

    • 相关性:

      • 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)
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值