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

目录
  • 准备工作
  • 1.非空值计数
    • 1.1对全表进行操作
      • 1.1.1求取每列的非空值个数
      • 1.1.2 求取每行的非空值个数
    • 1.2 对单独的一行或者一列进行操作
      • 1.2.1 求取单独某一列的非空值个数
      • 1.2.2 求取单独某一行的非空值个数
    • 1.3 对多行或者多列进行操作
      • 1.3.1 求取多列的非空值个数
      • 1.3.2 求取多行的非空值个数
  • 2 sum求和
    • 2.1对全表进行操作
      • 2.1.1对每一列进行求和
      • 2.1.2 对每一行进行求和
    • 2.2 对单独的一行或者一列进行操作
      • 2.2.1 对某一列进行求和
      • 2.2.2 对某一行进行求和
    • 2.3 对多行或者多列进行操作
      • 2.3.1 对多列进行求和
      • 2.3.2 对多行进行求和
  • 总结

准备工作

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

先来看一下原始情形:

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

(0)

相关推荐

  • 浅谈pandas中对nan空值的判断和陷阱

    pandas基于numpy,所以其中的空值nan和numpy.nan是等价的.numpy中的nan并不是空对象,其实际上是numpy.float64对象,所以我们不能误认为其是空对象,从而用bool(np.nan)去判断是否为空值,这是不对的. 对于pandas中的空值,我们该如何判断,并且有哪些我们容易掉进去的陷阱,即不能用怎么样的方式去判断呢? 可以判断pandas中单个空值对象的方式: 1.利用pd.isnull(),pd.isna(); 2.利用np.isnan(); 3.利用is表达式

  • python中pandas.DataFrame对行与列求和及添加新行与列示例

    本文介绍的是python中pandas.DataFrame对行与列求和及添加新行与列的相关资料,下面话不多说,来看看详细的介绍吧. 方法如下: 导入模块: from pandas import DataFrame import pandas as pd import numpy as np 生成DataFrame数据 df = DataFrame(np.random.randn(4, 5), columns=['A', 'B', 'C', 'D', 'E']) DataFrame数据预览: A

  • pandas 添加空列并赋空值案例

    创建测试dataframe: >>> import pandas as pd >>> df = pd.DataFrame([{'a':1, 'b':2}, {'a':3, 'b':4}]) >>> df a b 0 1 2 1 3 4 添加两个空列 >>> df[['c','d']]=df.apply(lambda x:('',''),axis=1,result_type='expand') >>> df a b c

  • python解决pandas处理缺失值为空字符串的问题

    踩坑记录: 用pandas来做csv的缺失值处理时候发现奇怪BUG,就是excel打开csv文件,明明有的格子没有任何东西,当然,我就想到用pandas的dropna()或者fillna()来处理缺失值. 但是pandas读取csv文件后发现那个空的地方isnull()竟然是false,就是说那个地方有东西... 后来经过排查发现看似什么都没有的地方有空字符串,故pandas认为那儿不是缺失值,所以就不能用dropna()或者fillna()来处理. 解决思路:先用正则将空格匹配出来,然后全部替

  • python 使用pandas计算累积求和的方法

    使用pandas下的cumsum函数 cumsum:计算轴向元素累积加和,返回由中间结果组成的数组.重点就是返回值是"由中间结果组成的数组" import numpy as np ''' arr是一个2*2*3三维矩阵,索引值为0,1,2 cumsum(0):实现0轴上的累加:以最外面的数组元素为单位,以[[1,2,3],[8,9,12]]为开始实现后面元素的对应累加 cumsum(1):实现1轴上的累加:以中间数组元素为单位,以[1,2,3]为开始,实现后面元素的对应累加 cumsu

  • Python pandas.DataFrame 找出有空值的行

    0.摘要 pandas中DataFrame类型中,找出所有有空值的行,可以使用.isnull()方法和.any()方法. 1.找出含有空值的行 方法:DataFrame[DataFrame.isnull().T.any()] 其中,isnull()能够判断数据中元素是否为空值:T为转置:any()判断该行是否有空值. import pandas as pd import numpy as np n = np.arange(20, dtype=float).reshape(5,4) n[2,3]

  • Python学习笔记之pandas索引列、过滤、分组、求和功能示例

    本文实例讲述了Python学习笔记之pandas索引列.过滤.分组.求和功能.分享给大家供大家参考,具体如下: 解析html内容,保存为csv文件 //www.jb51.net/article/162401.htm 前面我们已经把519961(基金编码)这种基金的历史净值明细表html内容抓取到了本地,现在我们还是需要 解析html,取出相关的值,然后保存为csv文件以便pandas来统计分析. from bs4 import BeautifulSoup import os import csv

  • pandas 缺失值与空值处理的实现方法

    1.相关函数 df.dropna() df.fillna() df.isnull() df.isna() 2.相关概念 空值:在pandas中的空值是"" 缺失值:在dataframe中为nan或者naT(缺失时间),在series中为none或者nan即可 3.函数具体解释 DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False) 函数作用:删除含有空值的行或列 axis:维度,axis=

  • python pandas消除空值和空格以及 Nan数据替换方法

    在人工采集数据时,经常有可能把空值和空格混在一起,一般也注意不到在本来为空的单元格里加入了空格.这就给做数据处理的人带来了麻烦,因为空值和空格都是代表的无数据,而pandas中Series的方法notnull()会把有空格的数据也纳入进来,这样就不能完整地得到我们想要的数据了,这里给出一个简单的方法处理该问题. 方法1: 既然我们认为空值和空格都代表无数据,那么可以先得到这两种情况下的布尔数组. 这里,我们的DataFrame类型的数据集为df,其中有一个变量VIN,那么取得空值和空格的布尔数组

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

    目录 准备工作 1.非空值计数 1.1对全表进行操作 1.1.1求取每列的非空值个数 1.1.2 求取每行的非空值个数 1.2 对单独的一行或者一列进行操作 1.2.1 求取单独某一列的非空值个数 1.2.2 求取单独某一行的非空值个数 1.3 对多行或者多列进行操作 1.3.1 求取多列的非空值个数 1.3.2 求取多行的非空值个数 2 sum求和 2.1对全表进行操作 2.1.1对每一列进行求和 2.1.2 对每一行进行求和 2.2 对单独的一行或者一列进行操作 2.2.1 对某一列进行求和

  • Python pandas DataFrame基础运算及空值填充详解

    目录 前言 数据对齐 fill_value 空值api dropna fillna 总结 前言 今天我们一起来聊聊DataFrame中的索引. 上一篇文章当中我们介绍了DataFrame数据结构当中一些常用的索引的使用方法,比如iloc.loc以及逻辑索引等等.今天的文章我们来看看DataFrame的一些基本运算. 数据对齐 我们可以计算两个DataFrame的加和,pandas会自动将这两个DataFrame进行数据对齐,如果对不上的数据会被置为Nan(not a number). 首先我们来

  • python 判断矩阵中每行非零个数的方法

    如下所示: # -*- coding: utf-8 -*- # @Time : 2018/5/17 15:05 # @Author : Sizer # @Site : # @File : test.py # @Software: PyCharm import time import numpy as np # data = np.array([ # [5.0, 3.0, 4.0, 4.0, 0.0], # [3.0, 1.0, 2.0, 3.0, 3.0], # [4.0, 3.0, 4.0,

  • Python实战基础之Pandas统计某个数据列的空值个数

    目录 一.实战场景 二.主要知识点 三.菜鸟实战 1.创建 python 文件 2.运行结果 补充:Pandas检查是否有空值.处理空值 总结 一.实战场景 实战场景:Pandas 如何统计某个数据列的空值个数 二.主要知识点 文件读写 基础语法 Pandas numpy 三.菜鸟实战 马上安排! 1.创建 python 文件 """ 对如下DF,设置两个单元格的值 ·使用iloc 设置(3,B)的值是nan ·使用loc设置(8,D)的值是nan ""&

  • Python pandas用法最全整理

    1.首先导入pandas库,一般都会用到numpy库,所以我们先导入备用: import numpy as npimport pandas as pd 2.导入CSV或者xlsx文件: df = pd.DataFrame(pd.read_csv('name.csv',header=1))df = pd.DataFrame(pd.read_excel('name.xlsx')) 3.用pandas创建数据表: df = pd.DataFrame({"id":[1001,1002,1003

  • Python pandas常用函数详解

    本文研究的主要是pandas常用函数,具体介绍如下. 1 import语句 import pandas as pd import numpy as np import matplotlib.pyplot as plt import datetime import re 2 文件读取 df = pd.read_csv(path='file.csv') 参数:header=None 用默认列名,0,1,2,3... names=['A', 'B', 'C'...] 自定义列名 index_col='

  • Python pandas自定义函数的使用方法示例

    本文实例讲述了Python pandas自定义函数的使用方法.分享给大家供大家参考,具体如下: 自定义函数的使用 import numpy as np import pandas as pd # todo 将自定义的函数作用到dataframe的行和列 或者Serise的行上 ser1 = pd.Series(np.random.randint(-10,10,5),index=list('abcde')) df1 = pd.DataFrame(np.random.randint(-10,10,(

  • Python Pandas数据分析工具用法实例

    1.介绍 Pandas是基于Numpy的专业数据分析工具,可以灵活高效的处理各种数据集,也是我们后期分析案例的神器.它提供了两种类型的数据结构,分别是DataFrame和Series,我们可以简单粗暴的把DataFrame理解为Excel里面的一张表,而Series就是表中的某一列 2.创建DataFrame # -*- encoding=utf-8 -*- import pandas if __name__ == '__main__': pass test_stu = pandas.DataF

随机推荐