当前位置 博文首页 > Python pandas求方差和标准差的方法实例

    Python pandas求方差和标准差的方法实例

    作者:不思量自难忘 时间:2021-09-19 18:31

    目录
    • 准备
    • 1.求方差
      • 1.1对全表进行操作
        • 1.1.1求取每列的方差
        • 1.1.2 求取每行的方差
      • 1.2 对单独的一行或者一列进行操作
        • 1.2.1 求取单独某一列的方差
        • 1.2.2 求取单独某一行的方差
      • 1.3 对多行或者多列进行操作
        • 1.3.1 求取多列的方差
        • 1.3.2 求取多行的方差
    • 2 求标准差
      • 2.1对全表进行操作
        • 2.1.1对每一列求标准差
        • 2.1.2 对每一行求标准差
      • 2.2 对单独的一行或者一列进行操作
        • 2.2.1 对某一列求标准差
        • 2.2.2 对某一行求标准差
      • 2.3 对多行或者多列进行操作
        • 2.3.1 对多列求标准差
        • 2.3.2 对多行求标准差
    • 总结

      准备

      本文用到的表格内容如下:

      先来看一下原始情形:

      import pandas as pd
      ​
      df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
      print(df)
      
      

      result:

         分类            货品  实体店销售量  线上销售量  成本   售价
      0  水果            苹果      34    234  12   45
      1  家电           电视机      56    784  34  156
      2  家电            冰箱      78    345  24  785
      3  书籍  python从入门到放弃      25     34  13   89
      4  水果            葡萄     789     56   7  398

      1.求方差

      1.1对全表进行操作

      1.1.1求取每列的方差

      df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
      print(df.var())
      

      result:

      实体店销售量    110164.3
      线上销售量      92621.8
      成本           118.5
      售价         93741.3
      dtype: float64

      1.1.2 求取每行的方差

      df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
      print(df.var(axis=1))
      

      result:

      0     10558.250000
      1    126019.666667
      2    120818.000000
      3      1130.250000
      4    131161.666667
      dtype: float64

      1.2 对单独的一行或者一列进行操作

      1.2.1 求取单独某一列的方差

      df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
      print(df['实体店销售量'].var())
      

      result:

      110164.3

      1.2.2 求取单独某一行的方差

      df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
      print(df.iloc[[0]].var())
      

      result:

      实体店销售量   NaN
      线上销售量    NaN
      成本       NaN
      售价       NaN
      dtype: float64

      1.3 对多行或者多列进行操作

      1.3.1 求取多列的方差

      df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
      print(df[['实体店销售量', "线上销售量"]].var())
      

      result:

      实体店销售量    110164.3
      线上销售量      92621.8
      dtype: float64

      1.3.2 求取多行的方差

      df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
      print(df.iloc[[0, 1]].var())
      

      result:

      实体店销售量       242.0
      线上销售量     151250.0
      成本           242.0
      售价          6160.5
      dtype: float64

      2 求标准差

      2.1对全表进行操作

      2.1.1对每一列求标准差

      df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
      print(df.std())
      

      result:

      实体店销售量    331.910078
      线上销售量     304.338299
      成本         10.885771
      售价        306.172010
      dtype: float64

      2.1.2 对每一行求标准差

      df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
      print(df.std(axis=1))
      

      result:

      0    102.753345
      1    354.992488
      2    347.588838
      3     33.619191
      4    362.162487
      dtype: float64

      2.2 对单独的一行或者一列进行操作

      2.2.1 对某一列求标准差

      df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
      print(df['实体店销售量'].std())
      

      result:

      331.910078183835825

      2.2.2 对某一行求标准差

      df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
      print(df.iloc[[0]].std())
      

      result:

      实体店销售量   NaN
      线上销售量    NaN
      成本       NaN
      售价       NaN
      dtype: float64

      2.3 对多行或者多列进行操作

      2.3.1 对多列求标准差

      df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
      print(df[['实体店销售量', "线上销售量"]].std())
      

      result:

      实体店销售量    331.910078
      线上销售量     304.338299
      dtype: float64

      2.3.2 对多行求标准差

      df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
      print(df.iloc[[0, 1]].std())
      

      result:

      实体店销售量     15.556349
      线上销售量     388.908730
      成本         15.556349
      售价         78.488853
      dtype: float64

      总结

      jsjbwy
      下一篇:没有了