当前位置 博文首页 > Python pandas之求和运算和非空值个数统计

    Python pandas之求和运算和非空值个数统计

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

    目录
    • 准备工作
    • 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 sum求和
      • 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.count())
      

      result:

      分类        5
      货品        5
      实体店销售量    5
      线上销售量     5
      成本        5
      售价        5
      dtype: int64

      1.1.2 求取每行的非空值个数

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

      result:

      0    6
      1    6
      2    6
      3    6
      4    6
      dtype: int64

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

      1.2.1 求取单独某一列的非空值个数

      df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
      print(df['分类'].count())
      

      result:

      5

      1.2.2 求取单独某一行的非空值个数

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

      result:

      6

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

      1.3.1 求取多列的非空值个数

      df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
      print(df[["分类", "货品"]].count())
      
      

      result:

      分类    5
      货品    5
      dtype: int64

      1.3.2 求取多行的非空值个数

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

      result:

      分类        2
      货品        2
      实体店销售量    2
      线上销售量     2
      成本        2
      售价        2
      dtype: int64

      2 sum求和

      2.1对全表进行操作

      2.1.1对每一列进行求和

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

      result:

      分类                   水果家电家电书籍水果
      货品        苹果电视机冰箱python从入门到放弃葡萄
      实体店销售量                      982
      线上销售量                      1453
      成本                           90
      售价                         1473
      dtype: object

      可以看到,字符串类型的求和直接是字符串拼接,数字类型就正常的数学运算

      2.1.2 对每一行进行求和

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

      result:

      0     325
      1    1030
      2    1232
      3     161
      4    1250
      dtype: int64

      先看运行结果,我们可以看到,每一行求和的时候直接忽略文本字符类型,只对数字类型进行求和。就比如第一行的数据

         分类            货品  实体店销售量  线上销售量  成本   售价
      0  水果            苹果      34    234  12   45

      上面的325=34+234+12+45,,其他的行也是如此

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

      2.2.1 对某一列进行求和

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

      result:

      982

      2.2.2 对某一行进行求和

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

      result:

      分类         水果
      货品         苹果
      实体店销售量     34
      线上销售量     234
      成本         12
      售价         45
      dtype: object

      当然,单独一行去求和似乎没卵用

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

      2.3.1 对多列进行求和

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

      result:

      实体店销售量     982
      线上销售量     1453
      dtype: int64

      2.3.2 对多行进行求和

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

      result:

      分类         水果家电
      货品        苹果电视机
      实体店销售量       90
      线上销售量      1018
      成本           46
      售价          201
      dtype: object

      总结

      jsjbwy
      下一篇:没有了