富顺门户网
国内新闻 当前位置:首页 > 国内新闻 > 正文

如何不写 SQL ,探索和分析数据库?

王菽一

需要

17

分钟

快速阅读仅6分钟

数据分析阈值降低,希望你能及时意识到。

1

Demand

今天是这学期《数据库系统原理》的最后一课。学生们完成了数据分析项目,然后一个接一个地上台做演示。

我非常高兴地看到,那些甚至没有上过计算机文化课的文科学生可以从互联网上找到数据,导入关系数据库,并使用SQL进行查询,直到他们可以用这些数据回答他们感兴趣的问题。

在这个大数据时代,我们每个人都或多或少要在工作中处理数据。从记录自己的书籍到使用数据来辅助战略决策。充分利用这些数据可以帮助你的团队和你的个人价值。

有价值的数据,其中许多存储在各种数据库中。要很好地使用它们,仅仅使用Excel或Access是不够的。一般来说,查询它们的最好方法是学习各种查询语言。最常见的是SQL。

在着名的Python课程《面向所有人的编程》中,在密歇根大学任教的查尔斯塞弗博士认为,SQL是最简单的编程语言。

但是,让我们现实一点。

很多时候,你会有分析数据的冲动,但不是每个人都有时间和意愿去学习一门SQL课程来完成日常工作中的数据查询、分析和可视化。

2

Tools

幸运的是,技术的发展总是把许多以前专业人士可以获得的东西变成公众可以做的事情。

例如,自动汽车,比如手机上的相机应用,还有我今天要介绍给你的元数据库。

Metabase的口号是这样的。

translated,要点是:

每个人都可以用

轻松地表达你的问题,这样你就可以从数据中学习

3?

Install

Metabase是一个可以完全应用于团队协作的工具,因为它提供了方便的云使用方法,例如Docker镜像、AWS和Heroku。

为了简单方便的介绍,我将只向您介绍独立版本的安装。其余的申请表,你可以学习这篇文章,继续深挖。

因为我自己使用苹果电脑,所以我只选择在苹果电脑下编译的安装文件。

如果你使用的是其他系统,如Linux或Windows,安装并不麻烦。只需点击“其他平台”按钮下载一个jar类型的文件。只要在系统中安装了Java运行环境,就可以直接双击文件来运行。

以我电脑上的苹果电脑系统为例。打开下载的dmg文件后,将可执行文件拖到“应用程序”文件夹中,就可以了。

首次运行时可能需要一些时间来初始化。

当出现以下界面时,表示您已经准备好了。

请点击上图中的蓝色按钮开始设置。

我们需要输入一些基本的注册信息。在

之后,选择我们需要连接的数据库。

注意,有许多选项可供选择。这些选项基本上涵盖了市场上常见的主流数据库类型。

为了方便起见,我们使用了SQLite数据库“麻雀虽小,但它有五个器官”。其他类型的数据库,您可以稍后再试。

我使用的示例是斯坦福开放式数据库课程中使用的学院数据库。我一直用它作为一个基本的样本向我自己班上的学生演示。设置

后,请注意有一个数据统计选项。Metabase会询问您是否允许向它发送有关您的使用行为的统计信息,以帮助改进它。

如果您愿意分享,您可以保留原来的设置。如果你更加注意你的隐私,不用麻烦,你可以关闭这个选项。

这里,安装和设置将完成。

让我们看看下面有哪些数据表。

学生信息

让我们看看下面有哪些数据表。

学生信息

申请信息

大学入学信息

我们选择了一个学生表格。

Metabase默认给我们一些基本的描述性统计。

例如,最重要的是一个表中有多少行。这里的学生列表样本包含12个学生记录。

这还没有结束,请关闭,Metabase还会自动为我们生成一些其他的统计结果。

首先是学生人数分布。

当然,因为学生人数只不过是一个唯一的数字,所以这个统计是没有用的。

但是下面这个不同。

这是学生的平均绩点分布。可以看出,大多数学生的分数都在3.6分以上。数据集不是均匀分布或正态分布的。

上图反映了学生来自的高中的规模。我可以看到大多数学生仍然来自学生人数众多的学校。来自小而好的学校的高中生数量相对较少。“”后面的图片记录了学生的名字。有趣的是,你可以清楚地看到名字重复的学生。

如果你不满足于仅仅看这些统计数据,而是想看原始数据。然后你可以点击“浏览数据”按钮并选择大学数据库。

然后选择学生表单以查看所有学生记录信息。

Analysis

Analysis

如果我们只关注一些学生,我们可以选择上面的紫色“过滤器”按钮。

这里,所有条件都可以通过选择和输入数值来完成,不需要编程。我们选择只保留平均绩点高于3.5的学生。上面

的左侧是我们想要看到的结果。

但我们会想,“一幅画胜过千言万语”。

我该怎么办?我们选择右下角,使用GPA作为分组基础,然后单击左下角的可视化按钮。

可以看出,在分数高于3.5的学生中,4的分数为3.9。在这些学生中,接手的学生比例不小。

但我们会想,“一幅画胜过千言万语”。

我们也可以更改分组方法。这里我们用高中生的数量作为分组的基础。然后再次想象。

如你所见,平均绩点高于3.5的学生来自拥有1000名学生的高中。

你认为用柱状图还是饼图来描述我们的过滤分析结果更合适?

这里我们选择饼图。

你认为用柱状图还是饼图来描述我们的过滤分析结果更合适?

Map

Map

如果我们只关注一些学生,我们可以选择上面的紫色“过滤器”按钮。

在这里,我们选择了大学的形式。

此表单包含以下信息。

我们计划调查不同州大学录取的学生人数。方法很简单。或者单击可视化。

选择图形选项右下角的“地图”。

将度量字段修改为注册。那么区域字段就是状态。

所以你可以看到下面的地图。

有趣的是,元数据库还能正确识别州名缩写,并在地图上标出它们。此外,根据注册学生的数量,不同色调的颜色会自动选择。

Association

Association

如果我们只关注一些学生,我们可以选择上面的紫色“过滤器”按钮。

从一张桌子上,我们已经可以分析很多东西了。然而,在更多的情况下,我们希望使用多种形式结合在一起,以便从中挖掘出真知灼见。

例如,让我在这里问你一个问题:

不同大学的最低平均成绩是多少?

如果你只用一块手表,你只会回答这个问题。

因为虽然在应用表中有准入决定信息,但它不包含GPA;“学生”表包括了平均绩点,但是你不知道这个学生在哪所学校注册以及他是否被录取。

让我们单击上面菜单栏中的“提问”按钮,然后从下图中选择“自定义问题”。

然后,您需要选择一个数据库。

仍然需要选择一个初始表单。

我们选择学生桌。然后选择连接数据。

这里我们需要选择申请表格。让我们选择要关联的列。毕竟,如果我们把张三的学生信息和李四的录取信息记录联系起来,那是没有意义的。当我们查看它时,我们发现学生的标识(sID)同时出现在学生和申请中,这是学生的唯一标识。就用它。

让我们设置下面的过滤条件。显然,考虑到录取分数,我们必须找到那些被录取的人。

所以我们点击了过滤器栏。

选择应用表单。

,并从它们中选择“决策”。

因为只有两种选择。所以我们可以选择Y(录取)。

然后我们可以根据学校来检查最低录取分数。

我们在这里填写绿色的摘要。

我们对最低的录取分数感兴趣,所以我们可以选择最低的。

然后选择GPA作为最小选择列。

还没有结束。因为我们需要根据学校分别计算。因此,请在之后选择cName。

只需简单的点击,您就拥有了所有需要设置的信息。

好,我们开始吧。选择可视化。

从这张照片中,我们可以看到伯克利的学生平均绩点最高。康奈尔大学和斯坦福大学并列最低。

从这个角度来看,精英学校比平均绩点更有价值。

是吗?

这是一个思考的问题,欢迎在留言区写下你的答案,并与大家交流。

8

Summary

在本文中,我将带您使用一个非常简单的示例数据库,并尝试在不编写任何SQL代码的情况下过滤、分析、计数、可视化和查询数据库。

你可能会想,有了这么简单的数据,我可以用我的眼睛和头脑比你的方法计算得更快!

没错,但是想象一下如果每个表中有1000多倍的数据呢?

如果我们想学习一些东西,我们需要掌握这种可以大规模应用的技能。尽管最初的研究有点乏味,但当它真正帮助你处理大规模数据结果时,你将能够尝到掌握它的好处。

好好分析数据!

如果你觉得有用,请点击“观看”并转发给有需要的朋友。

赞美是力量。

由于微信公众号外部链接的限制,本文中的部分链接可能无法正确打开。如有必要,请点击文章末尾的“阅读原文”按钮,进入通常显示外链的版本。

订阅我的微信公众号“玉树兰芝”,首先获得免费文章更新。不要忘记添加一个星号,以避免错过新的推送提示。

如果你对Python和数据科学感兴趣,你希望和其他喜欢学习的朋友讨论和讨论,回答问题,欢迎加入知识星球。

Extended Reading

您可能对以下主题感兴趣。点击链接查看。

如何批量将Markdown文件转换为pdf?

如何在iPad上运行Python代码?

如何使用Sikuli自动输入我的结果?

如何高效地学习Python?

《文科生数据科学上手指南》 share

picture:national cancer institute on unsplash

-



富顺门户网 版权所有© www.drsyd.cn 技术支持:富顺门户网 | 网站地图