关于人工智能:用于数据分析的8个SQL技术

35次阅读

共计 3635 个字符,预计需要花费 10 分钟才能阅读完成。

作者 |RAM DEWANI
编译 |VK
起源 |Analytics Vidhya

概述

  • SQL 是任何从事剖析或数据迷信的人都必须晓得的语言
  • 这里有 8 种用于数据分析的 SQL 技术,任何数据迷信专业人士都会喜爱应用它

介绍

SQL 是数据迷信业余人员军械库中的一个要害齿轮。这是经验之谈,如果你还没有学会 SQL,你就不能指望在剖析或数据迷信畛域取得成功。

为什么 SQL 如此重要?

随着咱们进入新的十年,咱们生产和生产数据的速度正在一天一天的飙升。

为了依据数据做出理智的决策,世界各地的组织都在延聘数据专业人士,如业务分析师和数据科学家,从海量的数据宝库中开掘信息。

其中一个最重要的工具就是 SQL!

结构化查询语言 (SQL) 曾经存在了几十年。它是一种编程语言,用于治理关系数据库中保留的数据。

世界各地的大多数大公司都在应用 SQL。数据分析员能够应用 SQL 拜访、读取、操作和剖析数据库中存储的数据,并生成有用的信息,以推动理智的决策过程。

在本文中,我将探讨 8 种 SQL 技术,这些技术将使你为任何高级数据分析问题做好筹备。请记住,本文假如你对 SQL 有十分根本的理解。

目录

  • 理解数据集
  • SQL 技术 1:计算行和项
  • SQL 技术 2:聚合函数
  • SQL 技术 3:极值辨认
  • SQL 技术 4:数据切片
  • SQL 技术 5:限度数据
  • SQL 技术 6:数据排序
  • SQL 技术 7:过滤模式
  • SQL 技术 8:分组、汇总数据和分组过滤

理解数据集

学习数据分析的最好办法是什么?通过在一个数据集上执行它!

为此,我创立了一个批发商店的虚构数据集。客户数据表由 ConsumerDetails 示意。

咱们的数据集由以下列组成:

  • Name –消费者的名称
  • Locality –客户所在地
  • Total_amt_spend –消费者在商店中破费的总金额
  • Industry –它示意消费者所属的行业

注:咱们将应用 MySQL5.7 进行试验。你能够从这里下载

https://dev.mysql.com/downloa…

SQL 技术 1–计算行和项

Count 函数

咱们将从最简略的查问开始剖析,即计算表中的行数。咱们将应用函数 COUNT()来实现此操作。

太好了!当初咱们晓得表中的行数是 10。在一个小的测试数据集上应用这个函数仿佛没用。然而当你的行数达到数百万时,它会有很大的帮忙!

Distinct 函数

很多时候,咱们的数据表中充斥了反复的值。为了取得唯一的值,咱们应用了不同的函数。

在咱们的数据集中,咱们如何找到客户所属的行业?

你猜对了。咱们能够通过应用 DISTINCT 函数来实现这一点。

你甚至能够应用 count 和 distinct 一起计算惟一行的数量。你能够参考以下查问:

SQL 技术 2–聚合函数

聚合函数是任何数据分析的根底。它们为咱们提供了数据集的概述。咱们将探讨的一些函数是–SUM()、AVG()和 STDDEV()。

SUM 函数

咱们应用 SUM()函数计算表中数值列的和。

咱们来计算一下每位顾客的生产总额:

在下面的例子中,sum_all 是存储 sum 值的变量。消费者的生产总额是 12560 卢比。

AVG 函数

AVG()函数计算平均值。让咱们找出消费者对咱们零售店的均匀收入:

顾客在零售店的均匀消费额为 1256 卢比。

STDDEV 函数

如果你查看了数据集,而后查看了消费者的均匀收入值,你会发现有些货色脱漏了。平均值并不能提供残缺的了解,所以让咱们找到另一个重要的指标——标准差。函数为 STDDEV()。

标准差为 829.7,这意味着消费者的收入之间存在很大差距!

SQL 技术 3–极值辨认

下一种类型的剖析是确定极值,这将有助于你更好地了解数据。

Max 函数

能够应用 MAX()函数标识最大数值。让咱们看看如何利用它:

消费者在零售店的最高消费额是 3000 卢比。

Min 函数

与 max 函数相似,咱们有 MIN()函数来标识给定列中的最小数值:

零售店消费者的最低消费额是 350 卢比。

SQL 技术 4–数据切片

当初,让咱们关注数据分析中最重要的局部之一——数据切片。剖析的这一部分将形成高级查问的根底,并帮忙你依据某种条件检索数据。

  • 假如零售店心愿找到来自某个中央的客户,特地是 Shakti Nagar 和 Shanti Vihar 地区。

太好了,咱们有 3 个客户!咱们应用 WHERE 子句依据消费者应该寓居在当地的条件筛选出数据—Shakti Nagar 和 Shanti Vihar。

我没有在这里应用 OR 条件。相同,我应用了 IN 运算符,它容许咱们在 WHERE 子句中指定多个值。

  • 咱们须要找到那些寓居在特定地区 (Shakti Nagar 和 Shanti Vihar) 且生产金额超过 2000 卢比的客户。

在咱们的数据集中,只有 Shantanu 和 Natasha 满足这些条件。因为这两个条件都须要满足,所以和条件更适宜这里。让咱们看看另一个例子。

  • 这一次,零售店心愿找回所有生产在 1000 卢比到 2000 卢比之间的消费者,以便推出特地的营销优惠。

另一种写同样语句的办法是:

只有 Rohan 在满足这个规范!

太好了!咱们曾经走到一半了。让咱们在迄今所取得的常识根底上再接再厉。

SQL 技术 5–限度数据

Limit

假如咱们要查看由数百万条记录组成的数据表。咱们不能间接应用 SELECT 语句,因为这会将整个表转储到咱们的屏幕上,这既麻烦又计算密集。咱们能够应用 Limit:

下面的 SQL 命令帮忙咱们显示表的前 5 行。

OFFSET

如果你只想抉择第四行和第五行,你会怎么做?咱们将应用 OFFSET。OFFSET 将跳过指定的行数。让咱们看看它是如何工作的:

SQL 技术 6–数据排序

对数据进行分类有助于咱们对数据进行察看。咱们能够应用关键字 ORDER by 来执行排序过程。

ORDER BY

关键字可用于按升序或降序对数据进行排序。默认状况下,ORDER BY 关键字按升序对数据排序。

让咱们看一个示例,其中咱们依据 Total_amt_spend 列按升序对数据进行排序:

要将数据集按降序排序,能够依照以下命令进行操作:

SQL 技术 7–过滤模式

在后面的局部中,咱们学习了如何依据一个或多个条件过滤数据。在这里,咱们将学习匹配指定的模式列。为此,咱们将首先理解 LIKE 运算符和通配符。

LIKE

LIKE 在 WHERE 子句中用于搜寻列中的指定模式。

通配符

通配符用于替换字符串中的一个或多个字符。它们与 LIKE 运算符一起应用。最常见的两个通配符是:

  • %,示意 0 个或更多个字符
  • _,它代表一个字符

在咱们的虚构批发数据集中,假如咱们想要所有以“Nagar”结尾的地区。花点工夫来了解问题陈说,并思考如何解决这个问题。

让咱们试着把这个问题合成一下。咱们须要以“Nagar”结尾的所有地位,并且在这个特定字符串之前能够有任意数量的字符。因而,咱们能够在“Nagar”之前应用“%”通配符:

太棒了,咱们有 6 个中央以这个名字结尾。留神,咱们应用 LIKE 操作符来执行模式匹配。

接下来,咱们将尝试解决另一个基于模式的问题。咱们须要第二个字符在他们各自的名字中有“a”的消费者的名字。

再一次,我倡议你花点工夫来了解这个问题,并想出一个解决它的逻辑。

让咱们把问题合成一下。这里,第二个字符须要是“a”。第一个字符能够是任何字符,所以咱们用通配符_。

在第二个字符之后,能够有任意数量的字符,因而咱们将这些字符替换为通配符“%”。最终的模式匹配如下所示:

咱们有 6 集体满足了这个条件。

SQL 技术 8–分组、汇总数据和分组筛选

咱们终于到了 SQL 中最弱小的剖析工具之一,应用 GROUP BY 语句对数据进行分组。

这个语句最有用的利用是寻找分类变量的散布。这是通过应用 GROUPBY 语句和聚合函数 (如–COUNT、SUM、AVG 等) 来实现的。

让咱们用一个问题陈说来更好地了解这一点。批发商店心愿找到与其所属行业对应的客户数量:

咱们留神到,属于不同行业的客户数量或多或少是雷同的。因而,让咱们改成依据客户所属行业分组,计算出他们的收入总额:

咱们能够察看到,生产金额最大的是属于制造业的客户。这看起来有点容易,对吧?让咱们持续更改要求,让它变得更简单。

当初,零售商心愿找到总销售额大于 2500 的行业。为了解决这个问题,咱们将再次依据行业数据进行分组,而后应用 HAVING 子句。

HAVING

HAVING 子句与 WHERE 子句相似,但仅用于过滤分组的数据。记住,它总是在 group by 语句之后。

咱们只有 3 个类别满足条件 - 航空,国防和制造业。但为了更分明,我还将增加 ORDER BY 关键字,使其更直观:

结尾

我很快乐你做到了。这些是 SQL 中所有数据分析查问的构建常识。你还能够应用这些基础知识来进行高级查问。在本文中,我应用了 MySQL 5.7 来建设示例。

我心愿这些 SQL 查问可能帮忙你剖析简单数据的日常生活。

原文链接:https://www.analyticsvidhya.c…

欢送关注磐创 AI 博客站:
http://panchuang.net/

sklearn 机器学习中文官网文档:
http://sklearn123.com/

欢送关注磐创博客资源汇总站:
http://docs.panchuang.net/

正文完
 0