1、按条件筛选(与,或,非)

为数据筛选,使用与,或,非三个条件配合大于,小于和等于对数据进行筛选,并进行计数和求和。与 excel 中的筛选功能和 countifs 和 sumifs 功能相似。

Excel 数据目录下提供了“筛选”功能,用于对数据表按不同的条件进行筛选。Python 中使用 loc 函数配合筛选条件来完成筛选功能。配合 sum 和 count 函数还能实现 excel 中 sumif 和 countif 函数的功能。

1)使用“与”条件进行筛选

条件是年龄大于 25 岁,并且城市为 beijing。筛选后只有一条数据符合要求。

1#使用“与”条件进行筛选

2df_inner.loc[(df_inner[‘age’] > 25) & (df_inner[‘city’] == ‘beijing’), [‘id’,‘city’,‘age’,‘category’,‘gender’]]

2)使用“或”条件进行筛选

年龄大于 25 岁或城市为 beijing。筛选后有 6 条数据符合要求。

1#使用“或”条件筛选

2df_inner.loc[(df_inner[‘age’] > 25) | (df_inner[‘city’] == ‘beijing’), [‘id’,‘city’,‘age’,‘category’,‘gender’]].sort

3([‘age’])

3)求和

在前面的代码后增加 price 字段以及 sum 函数,按筛选后的结果将 price 字段值进行求和,相当于 excel 中 sumifs 的功能。

1 #对筛选后的数据按 price 字段进行求和

2 df_inner.loc[(df_inner[‘age’] > 25) | (df_inner[‘city’] == ‘beijing’),

3 [‘id’,‘city’,‘age’,‘category’,‘gender’,‘price’]].sort([‘age’]).price.sum()

4)使用“非”条件进行筛选

城市不等于 beijing。符合条件的数据有 4 条。将筛选结果按 id 列进行排序。

1#使用“非”条件进行筛选

2df_inner.loc[(df_inner[‘city’]

!= ‘beijing’), [‘id’,‘city’,‘age’,‘category’,‘gender’]].sort([‘id’])

在前面的代码后面增加 city 列,并使用 count 函数进行计数。相当于 excel 中的 countifs 函数的功能。

1#对筛选后的数据按 city 列进行计数

2df_inner.loc[(df_inner[‘city’]

!= ‘beijing’), [‘id’,‘city’,‘age’,‘category’,‘gender’]].sort([‘id’]).city.count()

还有一种筛选的方式是用 query 函数。下面是具体的代码和筛选结果。

1#使用 query 函数进行筛选

2df_inner.query(‘city == [‘beijing’, ‘shanghai’]’)

在前面的代码后增加 price 字段和 sum 函数。对筛选后的 price 字段进行求和,相当于 excel 中的 sumifs 函数的功能。

1 #对筛选后的结果按 price 进行求和

2 df_inner.query(‘city == [‘beijing’, ‘shanghai’]’).price.sum()

3 12230

2、数据汇总

接下来是对数据进行分类汇总,Excel 中使用分类汇总和数据透视可以按特定维度对数据进行汇总,python 中使用的主要函数是 groupby 和 pivot_table。下面分别介绍这两个函数的使用方法。

1)分类汇总

Excel 的数据目录下提供了“分类汇总”功能,可以按指定的字段和汇总方式对数据表进行汇总。Python 中通过 Groupby 函数完成相应的操作,并可以支持多级分类汇总。

Groupby 是进行分类汇总的函数,使用方法很简单,制定要分组的列名称就可以,也可以同时制定多个列名称,groupby 按列名称出现的顺序进行分组。同时要制定分组后的汇总方式,常见的是计数和求和两种。

1 #对所有列进行计数汇总

2 df_inner.groupby(‘city’).count()

可以在 groupby 中设置列名称来对特定的列进行汇总。下面的代码中按城市对 id 字段进行汇总计数。

1 #对特定的 ID 列进行计数汇总

2 df_inner.groupby(‘city’)[‘id’].count()

3 city

4 beijing 2

5 guangzhou 1

6 shanghai 2

7 shenzhen 1

8 Name: id, dtype: int64

在前面的基础上增加第二个列名称,分布对 city 和 size 两个字段进行计数汇总。

1 #对两个字段进行汇总计数

2 df_inner.groupby([‘city’,‘size’])[‘id’].count()

3 city size

4 beijing A 1

5 F 1

6 guangzhou A 1

7 shanghai A 1

8 B 1

9 shenzhen C 1

10 Name: id, dtype: int64

除了计数和求和外,还可以对汇总后的数据同时按多个维度进行计算,下面的代码中按城市对 price 字段进行汇总,并分别计算 price 的数量,总金额和平均金额。

1 #对 city 字段进行汇总并计算 price 的合计和均值。

2 df_inner.groupby(‘city’)[‘price’].agg([len,np.sum, np.mean])

2)数据透视

Excel 中的插入目录下提供“数据透视表”功能对数据表按特定维度进行汇总。Python 中也提供了数据透视表功能。通过 pivot_table 函数实现同样的效果。

数据透视表也是常用的一种数据分类汇总方式,并且功能上比 groupby 要强大一些。下面的代码中设定 city 为行字段,size 为列字段,price 为值字段。分别计算 price 的数量和金额并且按行与列进行汇总。

1 #数据透视表

2pd.pivot_table(df_inner,index=[‘city’],values=[‘price’],columns=[‘size’],aggfunc=[len,np.sum],fill_value=0,margins=True)

文章来源:网络 版权归原作者所有

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系小编,我们将立即处理

用Python做数据分析之数据筛选及分类汇总相关推荐

  1. xlsx筛选近三年学计算机,计算机二级Office:Excel数据筛选和分类汇总

    那我们开始今天的教程吧 1.第一个内容是数据的筛选,假如要将表格中650分以下的不显示,只显示650分以上的. 选择数据范围,点击[数据]-[筛选],点击总分旁的三角形,在展开的窗口中选[数字筛选], ...

  2. 一文看懂怎么用 Python 做数据分析

    作者 | 蓝鲸网站分析博客 来源 | http://bluewhale.cc/2017-04-21/use-python-for-data-analysis-like-excel-3.html 常遇到 ...

  3. java爬取网页数据_利用Python做数据分析—对前程无忧数据类岗位进行分析

    引言 随着时代的发展,我国在各行各业都需要大量的人才引进,处于近几年最热门的行业也称"最火行业":大数据.数据分析.数据挖掘.机器学习.人工智能,这五门行业各有不同又互有穿插.近几 ...

  4. python 数据分析学什么-利用Python做数据分析 需要学习哪些知识

    根据调查结果,十大最常用的数据工具中有八个来自或利用Python.Python广泛应用于所有数据科学领域,包括数据分析.机器学习.深度学习和数据可视化.不过你知道如何利用Python做数据分析吗?需要 ...

  5. python新手入门教程思路-Python新手入门教程_教你怎么用Python做数据分析

    Python新手入门教程_教你怎么用Python做数据分析 跟大家讲了这么多期的Python教程,有小伙伴在学Python新手教程的时候说学Python比较复杂的地方就是资料太多了,比较复杂.很多网上 ...

  6. python做数据分析的包_用Python做数据分析,Numpy,Pandas,matp

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 用Python做数据分析,Numpy,Pandas,matplotlib是怎么也绕不开的三个包,我最开始学习pandas是看的<利用Python进行 ...

  7. 每天10分钟用python学数据分析_用Python做数据分析,Numpy,Pandas,matp

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 用Python做数据分析,Numpy,Pandas,matplotlib是怎么也绕不开的三个包,我最开始学习pandas是看的<利用Python进行 ...

  8. python numpy pandas 书 全_用Python做数据分析,Numpy,Pandas,matp

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 用Python做数据分析,Numpy,Pandas,matplotlib是怎么也绕不开的三个包,我最开始学习pandas是看的<利用Python进行 ...

  9. python数据分析如何学_用Python做数据分析,Numpy,Pandas,matp

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 用Python做数据分析,Numpy,Pandas,matplotlib是怎么也绕不开的三个包,我最开始学习pandas是看的<利用Python进行 ...

  10. Python做数据分析有哪些优势?

    近年来,数据分析正在改变我们的工作方式,数据分析的相关工作也越来越受到人们的青睐.很多编程语言都可以做数据分析,比如Python.R.Matlab等,Python凭借着自身无可比拟的优势,被广泛地应用 ...

最新文章

  1. 项目实战之组件化架构
  2. Python进阶02 文本文件读写
  3. ORACLE TEXT DATASTORE PREFERENCE(四)
  4. 矩阵论:线性空间与线性变换
  5. Ajax ToolKit --- ModelPopupExtender应用经验二则
  6. Android-HIDL实例解析
  7. java mongodb 使用场景_mongodb使用场景一般是什么?mongodb有哪些基本命令?
  8. [转载] Java中日期格式转换
  9. docker私有仓库Harbor 使用文档
  10. linux设置程序循环,linux shell编程学习笔记(7)流程控制之循环结构
  11. 数据库系统原理及mysql应用教程第二版_数据库系统原理及MySQL应用教程(第2版十三五普通高等教育规划教材)...
  12. 《EDA前端软件开发工程师面试指南》
  13. 【开源】百度中文依存句法分析工具DDParser重磅开源,快来体验一下吧
  14. IOS 模拟器 在iPhone5和iPhone5s显示不全,不能全屏显示
  15. 判断两个矩形是否相交
  16. matlab虚数求模,matlab计算带有复数的函数,最后求复数函数的模,结果里面却有...
  17. 【笔记】研究生的早期科研之路(作者:中国人民大学 赵鑫)
  18. IuCS IuPS IuR IuB Uu接口示意图
  19. 帝国时代2哪个服务器稳定,《帝国时代2决定版》新手该选择哪个国家|新手使用国家推荐...
  20. android安装sdk时,failed read或者write可能是权限问题

热门文章

  1. 单片机IO口低电平不为0V
  2. 2.words平均长度
  3. 实验吧编程WP(一)
  4. E4A 易安卓一些常见的小问题
  5. 上市公司环境污染数据大全 2000-2020年上市公司(区分行业、重污染)环境污染数据 环境信息披露EDI 环保投资环境绩效环境排放数据
  6. 接近开关 NPN PNP
  7. Python--小游戏二十四点
  8. gz是什么意思饭圈_网络语BE是什么意思 饭圈用GE含义出处是哪里还有哪些类似表达...
  9. 基于Serverless的流量隐匿(四个方面)
  10. 基于word2vec使用wiki中文语料库实现词向量训练模型--2019最新