经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
Python pandas之求和运算和非空值个数统计
来源:jb51  时间:2021/8/5 13:20:53  对本文有异议

准备工作

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

先来看一下原始情形:

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求和运算和非空值个数内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接: NPS