Python pandas之求和运算和非空值个数统计代码示例

作者:袖梨 2022-06-25

本篇文章小编给大家分享一下Python pandas之求和运算和非空值个数统计代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

准备工作

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

先来看一下原始情形:

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 对多行进行求和

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

result:

分类 水果家电

货品 苹果电视机

实体店销售量 90

线上销售量 1018

成本 46

售价 201

dtype: object

相关文章

精彩推荐