撸主:

大毛 岂安科技业务风险分析师

多年订单业务反欺诈经验,负责岂安科技多款产品运营工作。

在使用Pandas之前,大多数数据分析师已经掌握了Excel和SQL,并且在刚上手Pandas时会经常习惯性想到“老办法”。"如果谁能把常用的数据查询语法做个对比就好了 ",我也曾不止一次地想享受前人的成果,无奈发现网上的文章侧重不同且深浅不一,还涉及到一些Pandas新老版本的问题,于是决定自己动手。

一、举例的数据

假设我有个六列的dataframe:一列是销售员,一列是所属团队,其它四列分别是四个季度的销售额。

1新增列-基于原有列的全年销售额

首先df['Total ']确保了你在该df内新增了一个column,然后累加便可。

df['Total']  = df['Q1']+df['Q2']+df['Q3']+df['Q4']

你可能想使用诸如sum()的函数进行这步,很可惜,sum()方法只能对列进行求和,幸好它可以帮我们求出某季度的总销售额。df['Q1'].sum(),你就能得到一个Q1的总销售额,除此之外,其他的聚合函数,max,min,mean都是可行的。

2分组统计 - 团队竞赛

那么按团队进行统计呢?在mysql里是group by,Pandas里也不例外,你只需要df.groupby('Team').sum()就能看到期望的答案了。

4排序 - 谁是销售冠军

如果你关心谁的全年销售额最多,那么就要求助于sort_values方法了,在excel内是右键筛选,SQL内是一个orderby。默认是顺序排列的,所以要人为设定为False,如果你只想看第一名,只需要在该语句末尾添加.head(1) 。

5切片-只给我看我关心的行

接下来就是涉及一些条件值的问题,例如我只关心Team为A的数据,在Excel里是筛选框操作,在SQL里写个where就能搞定,在Pandas里需要做切片。

查看Pandas文档时,你可能已经见过各种切片的函数了,有loc,iloc,ix,iy,这里不会像教科书一样所有都讲一通让读者搞混。这种根据列值选取行数据的查询操作,推荐使用loc方法。

df.loc[df['Team']== 'A',['Salesman', 'Team','Year']],这里用SQL语法理解更方便,loc内部逗号前面可以理解为where,逗号后可以理解为select的字段。

如果想全选出,那么只需将逗号连带后面的东西删除作为缺省,即可达到select *的效果。

6切片 - 多条件筛选

在Pandas中多条件切片的写法会有些繁琐,df.loc[ (df['Team']== 'A' ) & (df['Total'] > 15000 ) ],添加括号与条件符。

这里有一个有意思的小应用,如果你想给符合某些条件的员工打上优秀的标签,你就可以结合上述新增列和切片两点,进行条件赋值操作。

df.loc[ (df['Team']== 'A' ) & (df['Total'] > 15000 ) , 'Tag']  = 'Good'

7删除列 - 和查询无关,但是很有用

当然这里只是个举例,这时候我想删除Tag列,可以del df['Tag'],又回到了之前。

二、连接

接下来要讲join了,现在有每小时销售员的职位对应表pos,分为Junior和Senior,要将他们按对应关系查到df中。

这里需要认识一下新朋友,merge方法,将两张表作为前两个输入,再定义连接方式和对应键。对应到Excel中是Vlookup,SQL中就是join。在pandas里的连接十分简单。

df =  pd.merge(df, pos, how='inner', on='Salesman')

注意,这个时候其实我们是得到了新的df,如果不想覆盖掉原有的df,你可以在等号左边对结果重新命名。

这时候有了两组标签列(对应数值列),就可以进行多重groupby了。

当然这样的结果并不能公平地反应出哪一组更好,因为每组的组员人数不同,可能有平均数的参与会显得更合理,并且我们只想依据全年综合来评价。

这里的数据是捏造的,不过也一目了然了。

三、合并操作

最后以最简单的一个合并操作收尾。

如果我又有一批数据df2,需要将两部分数据合并。只需要使用concat方法,然后传一个列表作为参数即可。不过前提是必须要保证他们具有相同类型的列,即使他们结构可能不同(df2的Team列在末尾,也不会影响concat结果,因为pandas具有自动对齐的功能)。

pd.concat([df,df2])

尾声

以上就是一些基础的Pandas数据查询操作了。作为Pandas初学者,如果能善用类比迁移的方法进行学习并进行总结是大有裨益的。如果看完本文还没有能了解到你关心的查询方法,可以留言联系,或许还可以有续集。

python 网络安全数据分析_用Python做数据分析:Pandas常用数据查询语法相关推荐

  1. python网络安全毕业设计_基于Python的网络爬虫系统的设计与实现

    2018 年第 12 期 信息与电脑 China Computer&Communication 软件开发与应用 基于 Python 的网络爬虫系统的设计与实现 刘 杰 葛晓玢 闻顺杰 (铜陵职 ...

  2. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  3. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

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

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

  5. python怎么做面板数据分析_利用python进行数据分析之准备(一)

    原标题:利用python进行数据分析之准备(一) 欢迎关注天善智能微信公众号,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区. 对商业智能BI.大数据分析挖掘.机器学习,python,R等数 ...

  6. 用python进行股票数据分析_用 Python 做股市数据分析(2)

    这篇博文是用Python分析股市数据系列两部中的第二部,内容基于我在阅读第一部分).在这两篇博文中,我会讨论一些基础知识,包括比如如何用pandas从雅虎财经获得数据, 可视化股市数据,平均数指标的定 ...

  7. python熊猫图案_熊猫Python数据分析库和SQL教会了我如何取平均数

    python熊猫图案 对于主要处理数据的Python开发人员来说,很难不让自己经常陷入SQL和Python的开源数据库pandas中. 尽管这些工具使操作和转换数据变得如此容易(有时就像一行代码一样简 ...

  8. python股票数据分析_用Python抓取新浪的股票数据

    最近做数据分析,先是找到了Tushare这个免费开源的第三方财经包,但后来用了几天之后发现,它的日交易历史数据有时候有不准确的情况,查看源代码发现,这个包的数据源是凤凰财经,而对比凤凰网站其站点的数据 ...

  9. python多维数据分析_使用python进行数据分析

    Life is short, I use python! 1 python中常用的数据分析包 2 python:一维数据分析 2.1 用numpy包进行一维数据分析 import numpy as n ...

最新文章

  1. 【leetcode】923. 3Sum With Multiplicity
  2. 如何把linux电脑当做数据库,在linux下如何进行mysql命令行 创建数据库linux操作系统 -电脑资料...
  3. Docker教程-简介
  4. [LeetCode] 搜索旋转排序数组
  5. 啥是佩奇?爷爷,我用Python给你画一个
  6. ImportError: No module named ‘Tkinter‘
  7. Sell yourself 1
  8. java正则出现次数_正则表达式(二)—匹配次数的正则
  9. idea报错:Invalid bound statement (not found)
  10. 海量数据高并发的解决方案
  11. 微软商店无法下载应用,VS2019无法下载插件问题解决方案
  12. 图片去底色怎么去?图片怎么去底色变透明?
  13. 京东双11准点秒杀脚本
  14. DeepLearning初窥门径
  15. 售后的设计(退换货)
  16. Binding的详细说明
  17. 计算机网络-基本概念
  18. 软件测试-------Web(性能测试 / 界面测试 / 兼容性测试 / 安全性测试)
  19. 蓝桥杯--封印之门( Floyd算法)
  20. Python 正则表达式入门(详细)

热门文章

  1. 他入狱10年自学数学,如今凭借手稿发了篇论文,被同行评价“足以开辟数论新领域”
  2. Nacos学习及详细解释配置与注册
  3. 中州韵输入法(rime)导入搜狗词库
  4. 怎么选择CAD转换PDF软件
  5. html表单文本域长度,Dreamweaver表单文本域大小怎么调 – 手机爱问
  6. 数据结构实践——用Xamarin演示城市列表
  7. WPF ItemTemplate绑定多个DataTemplate (多类型)
  8. gre阅读passage131-174
  9. 一台计算机主机功率,电脑功率在哪里看 一台电脑多少瓦
  10. 表插入排序算法及C语言实现(看了无师自通)