在数据分析行业,对数据提出的每一个问题都可以用多种潜在的语言和工具包来回答。每种语言都有其优势,它们之间也存在着不同的区别。不能否认的是,有些操作用Python执行起来要比SQL更加高效。这篇文章分享了4个能够节省时间的案例,在这几个案例中,Python在探索和分析数据集方面远远优于SQL。

描述性统计

假设你正在探索新的数据集,可以使用许多不同的方法来统计描述这些数据,并得到总体感知。例如:

· 计数

· 平均值

· 标准偏差

· 最小值

· 第一四分位数

· 第二四分位数(中位数)

· 第三四分位数

· 最大值

要想在SQL中得到以上信息,你需要输入:

 

但也许你并不想输入以上所有代码。你可以使用pandas的DataFrame.describe()函数来得出基础数据集的基本描述性统计信息。

datasets['Python Input'].describe().round(1)

查看此报告并仿照该报告自行探索描述性统计。

移动平均值

假设你现在想计算移动平均值,以便于在输入不断变化的情况下得到其明确的平均值。移动平均值有助于消除数据骤降和峰值的影响,从而使长期趋势更加显而易见。

在SQL中,你可以输入这样的查询(query):

 

在Python中,只需以下代码便可快速得到相同的两周移动平均值:

 

另外,Python能够进一步实现可视化。

枢轴

要想重新排列数据与枢轴以绘制图表或是演示文稿格式,在SQL中需要几个步骤才能实现。在这个案例中,需要将Mode Public Warehouse中大学橄榄球运动员的数据集从行枢轴转换到列枢轴。

首先,要汇总每年、每场比赛的运动员的信息来准备数据。

 

转换数据之后,需要将查询(query)嵌入子查询(subquery)中。

 

接下来,如果你想将结果按照年份分成几列,可以用SELECT语句为每个项单独创建列。

 

虽然这能使你很好地控制查询和进程,但是用Python操作实则要更加轻松。当你从年份和比赛中SELECT大学橄榄球运动员后,可以跳转到Notebook并运行DataFrame.pivot。你能根据列值重塑数据,因而可以重新排列结果集。

DataFrame.pivot

自连接

在很多情况下,你可能想要将一个表与其自身连接起来。要想创建自连接(self join),需要先输入此查询,以便为同一张表创建不同的引用名称。

 

在pandas中,我们可以这样实现:

 

想自己尝试建立自连接吗?仿照这篇报告来撰写你的个人Mode报告吧!

该用Python还是SQL?4个案例教你节省时间的更多相关文章

  1. python 连接sql server

    linux 下pymssql模块的安装 所需压缩包:pymssql-2.1.0.tar.bz2freetds-patched.tar.gz 安装: tar -xvf pymssql-2.1.0.tar ...

  2. Sql Server触发器案例(初学者学习案例)

    万事都是从最简单的一句“hello world”开始,所以我接下里介绍的sql触发器学习案例也从最简单的案例来说明分析: 1.首先创建表,这几张表你们也许很熟,在百度搜触发器案例都是使用这2张表 Cr ...

  3. (火炬)MS SQL Server数据库案例教程

    (火炬)MS SQL Server数据库案例教程 创建数据库: CREATE DATABASE TDB //数据库名称 ON ( NAME=TDB_dat,//逻辑文件名 在创建数据库完成之后语句中引 ...

  4. Python和SQL Server 2017的强大功能

    Python和SQL Server 2017的强大功能 摘要: 源:https://www.red-gate.com/simple-talk/sql/sql-development/power-pyt ...

  5. Python和SQL 2017的强大功能

    Python和SQL Server 2017的强大功能   原文来自:https://www.red-gate.com/simple-talk/sql/sql-development/power-py ...

  6. 一个特殊的SQL Server阻塞案例分析

    上周,在SQL Server数据库下面遇到了一个有意思的SQL阻塞(SQL Blocking)案例.其实个人对SQL Server的阻塞还是颇有研究的.写过好几篇相关文章. 至于这里为什么要总结一下这 ...

  7. [Spark][Python][DataFrame][SQL]Spark对DataFrame直接执行SQL处理的例子

    [Spark][Python][DataFrame][SQL]Spark对DataFrame直接执行SQL处理的例子 $cat people.json {"name":" ...

  8. python文件读取和写入案例

    python文件读取和写入案例  直接上代码吧 都是说明 百度上找了很多,最终得出思路 没有直接可以读取修改的扩展,只能先读取,然后复制一份,然后在复制出来的文件里面追加保存 然后删除读的那个,但是缺 ...

  9. web实践小项目<一>:简单日程管理系统(涉及html/css,javascript,python,sql,日期处理)

    暑假自学了些html/css,javascript和python,苦于学完无处练手几乎过目即忘...最后在同学的建议下做了个简单日程管理系统.借第一版完成之际,希望能将实践期间犯过的错误和获得的新知进 ...

随机推荐

  1. ASP .NET SignalR起步

    在网站开发中,时常需要使用消息推送功能,http协议是无状态连接,我们需要一个类似桌面程序中socket保持服务器和客户端连接的技术.signalr就是这样一个技术,他能保持网站页面和服务器的一个长连 ...

  2. 第三周LINUX学习笔记

    周期性任务丶find 文件查找:find命令 locate :在数据库中查找,非实时查找,精确度不高,查找速度快,模糊查找  /tmp/passwad/a.textfind:实时查找:速度慢  ,精确 ...

  3. 不能直接获取?聊聊如何在Shader Graph中获取深度图

    0x00 前言 在这篇文章中,我们选择了过去几周Unity官方社区交流群以及UUG社区群中比较有代表性的几个问题,总结在这里和大家进行分享.主要涵盖了** StreamingAssets.Profil ...

  4. Kafka 消费者相关配置

    消费者相关配置类为  org.apache.kafka.clients.consumer.ConsumerConfig 具有以下配置参数 1. GROUP_ID_CONFIG = "grou ...

  5. jQuery基础系列

    $(document).ready(function(){ $("p").click(function(){ $(this).hide(); }); }); jQuery 入口函数 ...

  6. AI - TensorFlow - 张量(Tensor)

    张量(Tensor) 在Tensorflow中,变量统一称作张量(Tensor). 张量(Tensor)是任意维度的数组. 0阶张量:纯量或标量 (scalar), 也就是一个数值,例如,\'Howd ...

  7. 这些好用的 Chrome 插件,提升你的工作效率

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Google ...

  8. 网络协议 17 - HTTPDNS:私人定制的 DNS 服务

    [前五篇]系列文章传送门: 网络协议 12 - HTTP 协议:常用而不简单 网络协议 13 - HTTPS 协议:加密路上无尽头 网络协议 14 - 流媒体协议:要说爱你不容易 网络协议 15 - ...

  9. freeSSHD在windows环境下搭建SFTP服务器

    freeSSHD在windows环境下搭建SFTP服务器 0 建议现在windows环境下安装cygwin,否则在windows环境下cmd模式使用不了sftp去连接,可以利用win scp去测试连接 ...

  10. 校园生活app结对开发第二天

    昨天进行了android studio的安装与配置遇到很多问题,在gradel处遇到很多问题,安装版本错误等等,在百度和书籍的帮助下成功安装 今天要做登陆界面开发