脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python pandas之求和运算和非空值个数统计

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

2021-12-17 00:15不思量自难忘 Python

数据处理的过程中经常会遇到判断空值和求和运算的需求,所以下面这篇文章主要给大家介绍了关于Python pandas之求和运算和非空值个数统计的相关资料,需要的朋友可以参考下

准备工作

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

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

先来看一下原始情形:

?
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

延伸 · 阅读

精彩推荐