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

avatar 2021年11月29日10:15:11 评论 57

准备工作

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

先来看一下原始情形:

import pandas as pd
​
df = pd.read_excel(r'C:UsersadminDesktop测试.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:UsersadminDesktop测试.xlsx')
print(df.count())

result:

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

1.1.2 求取每行的非空值个数

df = pd.read_excel(r'C:UsersadminDesktop测试.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:UsersadminDesktop测试.xlsx')
print(df['分类'].count())

result:

5

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

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

result:

6

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

1.3.1 求取多列的非空值个数

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

result:

分类    5
货品    5
dtype: int64

1.3.2 求取多行的非空值个数

df = pd.read_excel(r'C:UsersadminDesktop测试.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:UsersadminDesktop测试.xlsx')
print(df.sum())

result:

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

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

2.1.2 对每一行进行求和

df = pd.read_excel(r'C:UsersadminDesktop测试.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:UsersadminDesktop测试.xlsx')
print(df['实体店销售量'].sum())

result:

982

2.2.2 对某一行进行求和

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

result:

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

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

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

2.3.1 对多列进行求和

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

result:

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

2.3.2 对多行进行求和

result:

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

总结

文章来源于互联网:Python pandas之求和运算和非空值个数统计

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: