全国服务热线:400-035-8011

位置:成都兄弟连IT培训学校 > 学校动态 > 为什么 SQL 程序员也要懂 Python

为什么 SQL 程序员也要懂 Python

来源:成都兄弟连IT培训学校时间:2019/11/21 10:04:03

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

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

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

为什么 SQL 程序员也要懂 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 (PARTITIONBY series ORDERBYvalue) AS row_number,

SUM(1) OVER (PARTITIONBY series) AS total

FROM dataset

),

quartiles AS (

SELECT series,

value,

AVG(CASEWHEN row_number >= (FLOOR(total/2.0)/2.0)

AND row_number

THENvalue/1.0ELSENULLEND

) OVER (PARTITIONBY series) AS q1,

AVG(CASEWHEN row_number >= (total/2.0)

AND row_number

THENvalue/1.0ELSENULLEND

) OVER (PARTITIONBY series) ASmedian,

AVG(CASEWHEN row_number >= (CEIL(total/2.0) + (FLOOR(total/2.0)/2.0))

AND row_number

THENvalue/1.0ELSENULLEND

) OVER (PARTITIONBY series) AS q3

FROM details

)

SELECT series,

MIN(CASEWHENvalue >= q1 - ((q3-q1) * 1.5) THENvalueELSENULLEND) ASminimum,

AVG(q1) AS q1,

AVG(median) ASmedian,

AVG(q3) AS q3,

MAX(CASEWHENvalue

FROM quartiles

GROUPBY1

什么时候使用Python?

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

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

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

dataset.describe()

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

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

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

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

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

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

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

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

领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/1850/news/108509/违者必究! 以上就是成都兄弟连IT培训学校 小编为您整理 为什么 SQL 程序员也要懂 Python的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-035-8011