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

编辑: admin 分类: python 发布时间: 2021-12-03 来源:互联网
目录
  • 准备工作
  • 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

    总结

    到此这篇关于Python pandas之求和运算和非空值个数统计的文章就介绍到这了,更多相关pandas求和运算和非空值个数内容请搜索hwidc以前的文章或继续浏览下面的相关文章希望大家以后多多支持hwidc!

    【原URL http://www.yidunidc.com/tw.html复制请保留原URL】