准备工作
本文用到的表格内容如下:
先来看一下原始情形:
1
2
3
4
|
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求取每列的非空值个数
1
2
|
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 求取每行的非空值个数
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 求取单独某一列的非空值个数
1
2
|
df = pd.read_excel(r 'c:\users\admin\desktop\测试.xlsx' ) print (df[ '分类' ].count()) |
result:
5
1.2.2 求取单独某一行的非空值个数
1
2
|
df = pd.read_excel(r 'c:\users\admin\desktop\测试.xlsx' ) print (df.iloc[ 0 ].count()) |
result:
6
1.3 对多行或者多列进行操作
1.3.1 求取多列的非空值个数
1
2
|
df = pd.read_excel(r 'c:\users\admin\desktop\测试.xlsx' ) print (df[[ "分类" , "货品" ]].count()) |
result:
分类 5
货品 5
dtype: int64
1.3.2 求取多行的非空值个数
1
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对每一列进行求和
1
2
|
df = pd.read_excel(r 'c:\users\admin\desktop\测试.xlsx' ) print (df. sum ()) |
result:
分类 水果家电家电书籍水果
货品 苹果电视机冰箱python从入门到放弃葡萄
实体店销售量 982
线上销售量 1453
成本 90
售价 1473
dtype: object
可以看到,字符串类型的求和直接是字符串拼接,数字类型就正常的数学运算
2.1.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 对某一列进行求和
1
2
|
df = pd.read_excel(r 'c:\users\admin\desktop\测试.xlsx' ) print (df[ '实体店销售量' ]. sum ()) |
result:
982
2.2.2 对某一行进行求和
1
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 对多列进行求和
1
2
|
df = pd.read_excel(r 'c:\users\admin\desktop\测试.xlsx' ) print (df[[ '实体店销售量' , "线上销售量" ]]. sum ()) |
result:
实体店销售量 982
线上销售量 1453
dtype: int64
2.3.2 对多行进行求和
1
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求和运算和非空值个数内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://juejin.cn/post/6991271671123017736