越来越多的分析师正在寻找使用Python处理数字和理解数据的新方法。

作者 | Lipei Wang

译者 | 苏本如,责编 | 郭芮

出品 | CSDN(ID:CSDNnews)

以下为译文:

Python,作为最流行的脚本语言之一,它也是数据分析和数据可视化的首选工具之一。除了范围庞大的Python开发人员社区之外,还有一个重要的团队使用Python来分析数据、提出可行的见解,并以此做出决策。

Python拥有数量众多的帮助库和平台,可以作为一个快速、可迭代的数据探索工具。Python的库集合包括从可视化到统计分析的所有内容,它可以帮助用户方便地进入数据中并开始识别模式。

除了能够在数据和统计分析中快速迭代外,Python还有很多用于管理数据管道和工作流的开源工具。越来越多的分析师正在寻找使用Python处理数字和理解数据的新方法。

Python有什么用?

Python和SQL一样:它能够解答任何问题。Python的社区很棒,它的采用率一直在上升。

有许多易于使用的Python库,可以方便快捷地进行数据探索。这使得迭代数据分析成为可能。有了Python,你才可以真正地探究你的好奇心把你带到的神秘的兔子洞的下方(意为可以追根究底,见爱丽思漫游奇境)。

最后,Python的实用性和灵活性允许它用于数据科学堆栈内的各种任务。例如,Luigi 和Airflow都允许在Python中管理数据管道和工作流。通过在Python中完成探索性分析,这些工作有时可以带入到生产环境中继续进行。

与Python相比,SQL最流行的用例是什么?

SQL是用来从数据库中查询和提取数据的。这是将数据转换为可用格式的必要的第一步。例如,SQL允许你轻松地连接多个数据集,以创建一个可以进一步研究的表。

SQL并不是专门为以某种方式操作或转换数据而设计的。数据科学中常见的高级数据操作(如统计分析、回归、趋势线和处理时间序列数据)在SQL中并不容易实现。

尽管存在这些限制,但是因为SQL是提取数据所必需的,因此它仍然经常被用于复杂的操作。下面的查询是用来计算数据中不同序列的分位数:

WITH details AS (
SELECT series,value,ROW_NUMBER() OVER (PARTITION BY series ORDER BY value) AS row_number,SUM(1) OVER (PARTITION BY series) AS totalFROM dataset
),quartiles AS (
SELECT series,value,AVG(CASE WHEN row_number >= (FLOOR(total/2.0)/2.0)AND row_number <= (FLOOR(total/2.0)/2.0) + 1THEN value/1.0 ELSE NULL END) OVER (PARTITION BY series) AS q1,AVG(CASE WHEN row_number >= (total/2.0)AND row_number <= (total/2.0) + 1THEN value/1.0 ELSE NULL END) OVER (PARTITION BY series) AS median,AVG(CASE WHEN row_number >= (CEIL(total/2.0) + (FLOOR(total/2.0)/2.0))AND row_number <= (CEIL(total/2.0) + (FLOOR(total/2.0)/2.0) + 1)THEN value/1.0 ELSE NULL END) OVER (PARTITION BY series) AS q3FROM details
)SELECT series,MIN(CASE WHEN value >= q1 - ((q3-q1) * 1.5) THEN value ELSE NULL END) AS minimum,AVG(q1) AS q1,AVG(median) AS median,AVG(q3) AS q3,MAX(CASE WHEN value <= q3 + ((q3-q1) * 1.5) THEN value ELSE NULL END) AS maximumFROM quartilesGROUP BY 1

什么时候使用Python?

Python有大量的库(例如Pandas、StatsModel和SciPy),它们是为统计和数学分析而设计的。这些库在抽象细节方面也做得很好,这样就不需要手工计算所有底层的数学。此外,你可以立即获得结果,因此可以迭代使用Python来研究数据。

不需要说“我想做一个回归分析”,和坐下来花半个小时搞清楚什么地方开始SQL查询,Python库可以运行分析,查看结果。在Python中,灵感和行动之间没有太大的滞后。

例如,如果我真的知道需要显示数据集的分位数,我就会编写上面的查询。因为整个事情可以通过下面的一行Python代码来完成,所以我会在分析过程中更早地完成这项工作,并且可能会发现一些我并不想要的结果。

dataset.describe()

考虑Python和SQL之间区别的另一种方法是,Python允许你从一个大表开始,从这个大表开始,可以在不同的分支上进行不同的分析。一条灵感之路可以把你带到另一条路,分析的速度和灵活性使得许多探索路径变得容易。

SQL和Python各有其优缺点,将两种语言结合在一起,可以让分析人员在这两个世界中都得到最好的结果。

对于SQL分析师来说,学习Python需要什么?

与许多技能一样,学习如何使用Python进行分析的最佳方法是潜心研究一个感兴趣的、一直关注的、并且有点熟悉的问题。

当你在做你感兴趣的事情时,你往往会做得更加深入。这种好奇心可以推动你走得更远,而它是很多真正学习的源泉。

你还应该处理一些你熟悉的数据,这样你就知道你做错了什么。你会有更好的直觉知道发生了什么和期待什么。然而,当你处理的数据是你一无所知的东西时,比如说处理花瓣大小的数据(这是在许多Python示例中出现的非常流行的数据集)。如果你的分析结论是“所有这些花的花瓣大小都是两厘米长”,但是你不知道这是否合理,你可能只是假设它是对的,然后继续前进。

学习Python无疑可以增强数据分析师的技能。

分析师需要通过数据来传达业务价值。他们工作的一部分是设法从数据中找到对业务的深刻见解,更有效的工作还包括围绕着那些能够迫使你的队友采取行动的见解,包括正确的背景和表述。而且,由于在工作场所使用数据和分析来做出决策变得越来越重要,因此,分析师这种提供全面分析的角色比以往任何时候都更加重要。

原文:https://segment.com/blog/sql-vs-Python/

本文为 CSDN 翻译,转载请注明来源出处。

为什么 SQL 程序员也要懂 Python?相关推荐

  1. 像优秀的SQL程序员一样思考

    像优秀的SQL程序员一样思考 --<SQL编程风格> 本书详细信息请点击:http://www.china-pub.com/209168 数据库作为现代软件应用的核心之一,正在发挥越来越重 ...

  2. java跟python对比_【多年的Java程序员总结Java与Python的对比 】

    多年的Java程序员总结Java与Python的对比 作为一个有多年职场经验的技术员,每当我遇到同行时,我都会问一句"你现在用的是什么语言?你喜欢用哪种语言?"至于答案,容后再说. ...

  3. Python程序员的圣经——《Python编程快速上手:让繁琐工作自动化》尾末附下载地址

    一.前言 如今,人们面临的大多数任务都可以通过编写计算机软件来完成.Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.通过Python编程,我们能够解决现实生活中的很多任务. 今天给 ...

  4. 匹配正则_程序员入门基础:python正则表达式贪婪匹配和非贪婪匹配

    此文为python正则表达式的高阶入门,正则基础入门请参考程序员入门基础:python的正则表达式. 一.贪婪匹配和非贪婪匹配 举例说明概念: print('非贪婪匹配',re.search('el+ ...

  5. python自学行吗-上万程序员总结:自学Python,掌握到什么程度就可以找工作了?...

    原标题:上万程序员总结:自学Python,掌握到什么程度就可以找工作了? 前言: Python现在非常火,语法简单而且功能强大,很多同学都想学Python! 在这里把最好的分享给大家!希望能带给大伙儿 ...

  6. Java程序员应该搞懂的六个问题

    Java程序员应该搞懂的六个问题 太平洋电脑网 作者:雷少 对于这个系列里的问题,每个学Java的人都应该搞懂.当然,如果只是学Java玩玩就无所谓了.如果你认为自己已经超越初学者了,却不很懂这些问题 ...

  7. 【视频】谁说程序员无趣?这么多只有资深程序员才看懂的段子,会心一笑,深夜释放压力,随着视频哈哈哈哈哈笑出鹅声!

    谁说程序员无趣?这么多只有资深程序员才看懂的段子,会心一笑,深夜释放压力,随着视频哈哈哈哈哈笑出鹅声! 22个动图,诠释程序员的多维人生,哈哈哈一乐,加班的烦恼就没了. 一群快乐的程序员,给大家创造了 ...

  8. 只有程序员看的懂面试圣经

    技术圈 只有程序员看的懂面试圣经|如何拿下编程面试 http://www.epubit.com.cn/article/197 当我最初开始参加编程面试的时候,我所有最心仪的公司都忽视了我.现在回头看那 ...

  9. 程序员也可以懂一点期望值管理

    刚开始做程序员的时候,主要的心思都放在代码上,没有太关注和其他人之间的相处,更没有考虑过期望值和管理期望值的事情.直到我后来开始做技术管理,有一次听老板跟我讲:"管理,最重要的就是管理期望值 ...

最新文章

  1. 《统计学》学习笔记之方差分析
  2. 网站开发综合技术 HTML
  3. expect远程登录服务器并执行命令
  4. live2d_明日方舟:聊聊可露希尔的live2d以及live2d制作
  5. 学好python浪漫表白,表白代码
  6. Sprd平台添加Camera驱动(SL8521E/SC9820E)
  7. 揭开 Java 注解的神秘面纱
  8. maya加载不了arnold的mtoa可能是这个低级错误!
  9. 【论文写作】Word文档中的MathType公式大小不一导致版面很难看完美解决方法
  10. 微信小程序实现分享功能
  11. Python绘图:turtle库基础语法介绍
  12. C语言实现幅值减小的正弦波,实现PMSM电机正弦电压控制的理想低成本解决方案...
  13. 输入一个长度不超过100的字符串,删除串中的重复字符。
  14. 英文翻译法语-英文法语翻译软件
  15. CXD2463+CXA1310模拟相机方案设计
  16. 设计实现一个漂亮的视频网站
  17. MATLAB基本常识知识总结
  18. R语言开发之平均值,中位数和众数了解下
  19. 如何注册免费tk域名
  20. 中国智慧医疗建设行业十四五发展研究与前景战略建议报告2021-2027年版

热门文章

  1. 【转】项目面试-如何介绍自己的项…
  2. DucleBox | A Game Engine for OpenGL Programming
  3. Ubuntu中Lamp的一些配置
  4. 将XML文件数据插入到数据库中
  5. 在VC中使用Delphi构造公共对话框
  6. [论文阅读] Learning a Unified Classifier Incrementally via Rebalancing
  7. python while循环例题_【学习笔记】python:5for循环与while循环(上)
  8. python 读取邮件内容_利用Python imaplib和email模块 读取邮件文本内容及附件内容...
  9. Pytorch中expand_as()函数详解
  10. 2021-2025年中国一次性马桶马桶座套行业市场供需与战略研究报告