数据分析工作坊系列

Python简介

讲师:Eng Chengyin, Databricks数据科学顾问
Eng Chengyin Eng是Databricks的数据科学顾问,她实施数据科学解决方案,并为跨职能客户提供机器学习培训。她获得了麻省大学阿默斯特分校的计算机科学硕士学位。在此之前,她在芒特霍利约克学院(Mount Holyoke College)完成了环境研究和统计学士学位,并在大学期间将统计建模技术应用于树木研究。此后,她在寿险行业工作,为非政府组织提供无偿数据科学服务。在数据科学之外,Chengyin喜欢阅读、摄影,并在户外市场上寻找食品和工艺品。

车间细节

本研讨会是我们为有抱负的数据科学家提供的数据分析入门系列研讨会的四部分中的第一部分。

在本研讨会中,我们将向您展示使用免费的Databricks Community Edition上的笔记本环境在Python中编程所需的简单步骤。Python是一种流行的编程语言,因为它的广泛应用,包括但不限于数据分析、机器学习和web开发。本研讨会涵盖了开始使用Python编码所必需的主要基本概念,重点是数据分析。您将了解不同类型的变量、for循环、函数和条件语句。不需要预先的编程知识。

参加工作坊的人士:
任何人、所有人、计算机专业的学生,甚至非技术人员都欢迎加入。不需要预先的编程知识。*请注意,如果你以前学过Python课程,这可能对你来说太入门了。

你需要:
注册社区版在这里并获得研讨会演示材料和样本笔记本在这里。

视频记录

我们将为大家带来《数据科学家数据分析入门》。所以,这个研讨会将是关于Python在数据库里的介绍。

数据分析入门课程

接下来我们还有两个研讨会,下一个,第二部分,将在下周的4月15日,然后第三部分是4月22日的机器学习。所以,访问Data Plus AI在线聚会页面并回复这些活动,这样你就可以收到通知,我们希望你们所有人都能加入我们,特别是如果你觉得这个研讨会很有用的话。

即将到来的在线活动

简单提醒一下。所以,我们有很多即将到来的不同类型的在线聚会、面试、研讨会、技术讲座,我们都是从Data Plus AI在线聚会组发起的。我将在聊天中删除这些链接,我也将包括带有这些url的后续消息,所以一定要加入那个群,这样你就可以查看即将发生的事情,然后,我知道我们有很多人从YouTube Live加入我们,所以谢谢你们。我们总是会直播或者设置提醒,所以一定要在YouTube上订阅并打开通知。所以,每当我们推出新的在线节目时,都会同步到YouTube上,所以你可以设置一个提醒,让自己加入我们的Live,如果你愿意的话。然后加入Zoom广播可以让你参与聊天功能,然后在问答环节提问。我也会在聊天中删除这些链接。

工作坊资源链接:

然后我给每一个回复的人发了一条消息这是两个在这节课上很有用的链接,我一会儿会把它们放到聊天里等我交给成茵,但我只是想把它们放在这里如果有人想要的话。

认识你的导师和助教

那么,现在我想让我们所有的导师成音和其他助教做一个简短的介绍,可能只有30秒的时间挥手打招呼,我们有很多助教会回答问答问题,所以,那是你们想要提出问题的地方,他们会在整个演讲中帮助你们。也许阿米尔如果我们能从你开始,你不介意打个招呼吧。

-当然,你能听到我说话吗?-是的。-大家好。我叫Amir Issaei,是Databricks的高级sata科学顾问。我和Conor, Brooke和Chengyin在同一个团队工作。我把40%的时间花在培训客户上,56%的时间花在实施机器学习解决方案上。Karen提到过,我是助教,如果你们有问题,可以在聊天中提出来,我和Conor还有Brooke会帮助你们理解你们的问题或者回答问题。谢谢你!-谢谢,康纳。

大家好,我是Conor Murphy,我还和Amir, Brooke, Chengyin一起工作,所以我们都在数据科学咨询业务上密切合作,然后也进行一些培训。如果你有任何问题,请随时联系我们,我们很乐意回答。

-我叫布鲁克·维尼格。我和Chengyin, Amir和Conor一起领导机器学习实践团队,顺便说一下,Conor将教下一节关于熊猫的课,Amir将教下一节关于机器学习的课,所以我真的很兴奋,这是整个团队的努力,为你们准备了这个系列。

谢谢大家,现在我把它交给程寅,他是我们今天的老师。所以我不再分享我的屏幕,让你把它拿走。-很好。大家好,我的名字是Eng Chengyin,你们可以叫我Chengyin。我认为我所有的同事都很好地介绍了我的职责,我与客户合作咨询项目,帮助他们实施数据科学解决方案,并提供传教士培训。我们的日程排得很满,我要开始了,我要分享我的屏幕,不好意思,那是错误的屏幕。

你分享,这个。

好的。因此,要开始本研讨会,您将需要一个Community Edition帐户来登录到数据库平台。bob体育客户端下载如果你还没有账号,请到这个链接databricks。comm/try-databricks,你需要注册,注册你的账号,你会收到一封邮件来验证你的账号,那时候你就可以注册了,那时候你就可以登录社区版门户了。我给你们几分钟时间来设置好,如果你们不介意告诉我什么时候你完成了,你们可以去聊天功能告诉我你完成了,然后我知道我可以继续登录社区版。

太好了,我再等几分钟。

你也可以在我的屏幕上看到,这里有一个链接,试数据砖,是的,我们使用的是社区版,所以当你注册一个社区版帐户时。

好了,我想我们中的一些人已经完成了注册环节,注册过程,如果你落后了一点也不用担心,因为笔记本稍后也会提供给你们,在你们自己的时间里。让我们继续登录到社区版,快速登录。

好的,如果你看到这个页面,这意味着你已经成功登录到数据砖平台,这是一个基于云的大数据平台。bob体育客户端下载在左手边有一堆图标在这一整边,我会在这节课上给你们介绍其中的一些,但首先,让我们继续,点击集群图标,这个图标看起来像一个图表或树。

在今天的课程中,我们将使用数据库计算资源,而不是使用计算机的本地计算资源。为此,我们首先需要创建一个集群。点击创建集群按钮,我等下会解释什么是集群,这里也会详细说明,现在,我们输入名称来创建集群,你可以点击创建集群。

所以我们进入客户页面,当你成功地建立了集群,你应该有一个旋转的图标,告诉你他们的状态是未决的,因为它正在等待建立,所以如果你点击进入这个集群,你可以看到这个集群的配置。那么什么是Databricks集群呢?Databricks集群是一组组合资源。我们现在使用的版本是Community edition,这意味着它是免费的,它有15g的内存,并且,您还将在执行最后一个命令的两个小时后自动终止。因此,这个社区版允许您访问一个小型集群来在笔记本环境中运行代码。因此,此Community Edition适用于创建简单应用程序的原型,但不适用于生产。

所以Community Edition也使用了亚马逊网络服务,也就是AWS,所以它需要几分钟才能启动。现在在你的页面上你应该还在旋转,一个旋转的绿色图标。你会看到这里有一个Databricks运行时版本,这意味着它是一个(听不清楚)由Apache Spark备份的版本,这就是你现在需要知道的,在这个介绍类中,我们将只使用普通的Python,所以我们不会深入到使用Spark使用分布式计算的细节。这就介绍了什么是集群如果你在标签上使用计算资源。

如果你想和你的同事一起在笔记本上工作,你可以邀请你的同事到你的工作空间,这时工作空间图标就派上用场了,我们可以点击这个图标工作空间图标,你可以看到有一个共享和用户,在用户下面,它应该是你的电子邮件,因为你是工作空间里唯一的人。如果你想邀请你的朋友到这个工作区,你可以点击右上角的这个人图标,然后点击管理控制台。这时你可以添加一个用户,邀请朋友。所以在这个社区版中,你最多可以邀请两个用户。这意味着在您的工作空间中,您总共可以有3个用户帐户。现在我要向你们展示如何访问我们在这节课中要使用的笔记本电脑,让我们进入GitHub页面,即github.com/databricks/techtalk。

如果你不熟悉GitHub是什么,GitHub就像谷歌驱动器,它可以跟踪你的代码,它可以为你托管代码。我鼓励你们跟着我做,如果你们想,在我讲课的时候运行代码单元格,但你们也可以选择在我讲课之后坐下来看我的演示,在你们自己的时间玩笔记本。

所以你可以看到这里有一堆文件夹,即将到来的研讨会的所有未来资源也会发布在里面,也可以获得热回购。在今天的课程中,你们将会接触到这个文件夹,Python入门,我们点击进去,你们会看到不同的文件,有一个实验室可以让你们在今天的课程中使用Python基础文件,我们点击进去然后抓取这个链接,命令复制,命令C复制这个链接。,您还会注意到该文件有一个扩展名I-P-Y-N-B。这意味着他是一个Jupyter笔记本,你也可以在你本地的Jupyter环境中访问这个笔记本。但我将向您展示如何将常规Jupyter Notebook导入到Databricks环境中。现在你有了这个链接,复制它,然后再回到这个Databricks主页,你可以点击侧边栏的home按钮,你可以看到你的名字,在这里,你可以看到有一个箭头让你点击,你可以看到有一个下拉菜单。所以你可以选择创建一个笔记本,创建一个新的笔记本或库或文件夹,但对于今天的目的,因为我们已经导入链接,点击导入,可以看到,您可以导入从文件或URL,所以你可以选择下载一个文件并上传它,但是因为我们有一个链接,所以我要使用URL和我要粘贴在这里,点击导入。

它会自动把你带到你想要访问的笔记本,在这个笔记本的标题下面,你会看到一个单词detach,如果你有一个单词,它现在说,如果它没有连接到一个集群,你选择要连接的集群。你也注意到这个图标看起来很熟悉因为它是我们刚刚放入的集群图标。因此,我们将通过单击这个下拉菜单将这个笔记本附加到一个集群,并将您刚刚设置的集群附加到这个笔记本上。

这意味着,通过将一个笔记本附加到一个集群,意味着你可以在这个笔记本上在这个特定的集群上执行文章。因此,当您附加一个笔记本时,这意味着该笔记本正在使用该集群的资源。在这节课中,我们将讨论什么是数字,字符串,变量,打印语句,列表,for循环,函数,条件语句以及检查不同的类型。有一个很好的参考表供你收藏,你可以点击进入这里的Python表,它向你展示了不同的Python语法,还有另一个链接向你展示,官方教程,如果你想,在Python开发人员开发后了解更多关于Python的知识,你也可以跟随他们的课程。BOB低频彩你可能还注意到这个笔记本有文本和代码的组合,你可能还想知道markdown cell是什么。如果我双击这个单元格,你可以看到这都是以百分比开始的MD MD代表锁定。所以我可以编写文本并将其呈现为文本而不是代码。因此,如果我按Shift + Enter,它将编译单元格,并显示它是一个文本。你也注意到我用不同的磅大小开始标题,就像不同的,不同数量的简洁,这里顶部的标题只有一个磅号,然后第二个标题有两个磅号,所以顶层会更大。这就是写markdown单元格的方法。 You can also choose to run a cell by hovering over, you know the top part top right hand part of this cell, you can see that there is a delete button, minimize button, and also edit menu to, perform different operations on this notebook cell.

现在让我们继续尝试在Data bricks Notebook环境中与Python交互,让我们把它作为计算器,非常简单,我们将使用,我们将输入1 + 1,你可以按Shift + Enter来运行这个单元格,或者你也可以到右上角点击运行按钮,点击运行单元格。或者你可以点击它,它就知道你需要运行单元格。你可以看到这里是1 + 1,这是我们在Python环境中的第一个Python代码。你可以看到,我们已经有了输出,我们知道它是2,所以让我来检查一下,这是正确的。你也可以与字符串交互,例如,如果我输入冰淇淋并用引号括起来,不管你用单引号还是双引号,它都会做同样的事情,所以我按Shift + Enter,你可以看到它都在为我输入冰淇淋。我也可以选择把字符串连接在一起,所以你可以看到这是字符串的第一部分这是第二部分,我要用加号把它们连接起来。我再按一下Shift + Enter,你可以看到它现在在打印冰淇淋了,对我来说是天堂,但是我们需要空格,因为它不够智能,不能识别中间需要空格,如果你想要空格,你需要按一下,你必须在这里输入一个空格。请注意,当使用数字时,Python知道你应该在数字上加上,但对于字符串,它会认为你想要将这些字符串连接在一起。

现在我们来看变量。所以Python中的变量实际上只是一个命名的数据单元,你可以给你的值赋值,比如这个值,任意你想要的名字,当然你给变量的命名越直观,它对你越有帮助,当你想回顾你自己的代码时。例如,如果我想运行这一行,我喜欢冰淇淋前面有#号,这意味着这种类型的代码被注释了,如果你在mac环境中,你所需要做的就是按Command + /。如果我运行,试着运行这个单元格会给我一个错误,它说语法无效,因为Python会认为有一个变量名为,I like ice and cream,它会尝试打印,I and like ice and cream,作为变量值。但这行不通,因为我们需要把值赋给一个变量。通过给变量赋值,你所需要做的就是有一个等号。你可以看到,现在我要把冰淇淋列为最好的食物。我要用等号来赋值。

在单元格下,按Shift + Enter,你会看到最好的食物是冰淇淋。注意,我还可以随时更新这个最佳食物变量。比如,我可以把我最喜欢的食物更新为,披萨注意这里,我要给你们看这里我用的是双引号这里用的是单引号但它们的效果是一样的。所以最好的食物实际上是比萨,因为Python记得最新的变量,值是比萨而不是冰淇淋。我来运行这个,你可以看到它显示的是披萨,而不是冰淇淋。因为我更喜欢冰淇淋,所以我要取消注释并再次运行单元格,这样最好的食物总是冰淇淋。

继续,你也可以选择打印语句。您可能想知道为什么我们甚至需要指定打印?因为这里我不用打印,我可以很好地打印东西。

使用print语句的好处是,它会自动地,迫使Python打印出你想要的每一条语句。比如,如果我没有,你知道这里的这个符号,如果我打印这个,它只会打印最好的食物因为这是最新的一行。所以要打印两行,我需要加上,打印第一行。在这里,你可以看到它显式地强迫Python输出两行,而不是最后一行。

你也可以更明确地说明你要打印的内容,比如,如果你想提醒自己,什么是最好的食物,而你不想一直输入两行,你也可以选择将这个变量括起来,用引号括起来。我们仍然可以看到,我使用的样式是F格式,所以我所需要做的就是在代码前面加上F然后在cody括号中包装一个你想打印的变量,然后你就可以打印这个了。现在你自动知道你应该检索最好的变量然后正确地输出语句。

现在,让我们来看看list。所以我要试着列一个清单列出我认为大家今天早上会吃的早餐。假设你吃了煎饼,鸡蛋和华夫饼,我将把它作为一个列表运行,你可以在这里再次看到,我在这里使用了字符串的概念我将把它们用方括号括起来,这个方括号意味着我可以,现在我将放入一个列表我将使用这个变量赋值,等号,我们将把这个字符串列表赋值为早餐列表。

同样,我可以随意命名它,因为我想让自己记住这个列表实际上包含了什么,所以我把它命名为早餐列表,我也可以选择在这些列表中添加更多的项目,例如,你告诉我,哦,你实际上也喝了牛奶,所以我也要在这个列表中添加牛奶。这里有一个追加函数。通过打印这个,你应该看到这个早餐列表应该有四种食物,煎饼,鸡蛋,华夫饼和牛奶,让我们试着从这个列表中得到第一个早餐元素。通过这个列表,我们知道第一项是煎饼,但是因为所有的东西都在0上下标,所以第一个元素在0号位置。所以如果你想要得到第一项,而不是说第一项,你知道,使用数字1,你使用数字0,因为它的索引是0。您再次使用方括号来索引列表。让我们运行这个单元格,是的,我在吃煎饼,这是正确的。如果我想要这个列表中的最后一项呢?我要做的就是加一个减号,我想要最后一项因为它从最后开始计数,所以它是最后一项,所以它是- 1,所以我们会得到牛奶。我还可以选择打印第二份早餐。 And remember that everything played on zero index, so if I wanna second item, I will need one, and if I want everything else to include everything else, then you will need the sign colon as well. So second breakfast, item and onward. I’m gonna press Shift + Enter again, to get eggs, waffles and milk. So you can see that pancakes is excluded here because it is the first item.

现在我们来谈谈护发素。

所以有时候根据条件,我们想要在逻辑上执行某些行。我们可以用if elif else语句来控制它。所以你可以把调节器看作是一种分支语句。比如,如果你有足够的睡眠,那么你明天就有足够的精力。如果你不觉得累。这有点像,如果,如果,如果A,然后B,然后C之类的。所以我们把它们看作分支表述。假设我们想打印复数形式,复数形式代表食物这是一个非常简单的例子我们想在字符串末尾加上as如果它还没有s来表示它是复数形式。现在我改变了我的台词,说我最好的食物其实是巧克力。我在检查,如果这个best food以S结尾,这里,你可以看到我在使用另一个内置函数,我在检查巧克力是否有S,如果有,它就会打印为S,如果有,它就会把S加到it中。 So here I’m expecting, the output to be chocolates, it was gonna go through this second line of logic and gonna add an S, gonna add an S as to this chocolate string.

通过添加elif,我们还可以使if else语句稍微复杂一些。

举个例子,我说,最好的食物是冰淇淋冰淇淋蛋筒是1000个,我说如果最好的食物等于冰淇淋,那么我想要1000个蛋筒冰淇淋。如果最好的食物是空白的,那么我实际上想让你告诉我你最喜欢的食物是什么。埃利斯真的觉得冰淇淋更好吗?让我们试试这个,在这里,你可以看到它打印了1000个甜筒冰淇淋。如果我能完全决定,我把它设为空白,它会先去if语句检查这个是否等于冰淇淋,但它不等于,它会跳到下一行,检查最好的食物是否等于空白,它会说,是的,它等于空白,让我们筛选最喜欢的食物。如果我说它是别的东西,那么,它会告诉我它会跳到第三行,说,哦,真的吗?冰淇淋不是更好吗?所以我们可以使用双等号来检查变量是否相等,如果没有等号,那么你可以使用感叹号和等号。你们可以看到我已经偷偷地用了相等原理或者概念通过检验,你们知道最好的食物是否等于冰淇淋通过使用双等号,所以,现在你们可以,我可以检验冰淇淋是否真的是最好的食物,但这不是因为我只是把它分配给披萨。

记住变量赋值时,你会使用一个等号,但当你想检查是否相等时,你会使用两个等号或感叹号和等号。

现在让我们转到For循环。例如,我真的很想打印出今天早上我们吃过的每一份早餐。对我们来说,这是一种非常简单的方法,因为我不想,我不想让你说打印华夫饼,打印鸡蛋,打印煎饼,那真的很麻烦,所以更简单的方法是使用循环,重复一段代码,直到满足某个条件。比如,这里,某个序列被满足了。举个例子,这是早餐列表,我想创建早餐列表中的每一种食物。我要做的是,对于早餐列表中的食物,我要打印食物。所以它会知道它要遍历序列,它会先打印出第一项,第一项,然后它会去第二项,第三项和第四项。

如果我想让你数每个单词的字母数呢?在这里,你可以看到我融合了Python的不同部分,比如概念,在这个打印语句中。我在这里使用了变量,我在这里使用了X字符串,我可以在一个叫做LAN的函数中使用它,它的意思是长度,所以你可以计算每个单词中字母的数量。现在它会检查这个早餐列表序列,你可以检查,你可以看到它执行了所有的东西,我们只需要一行代码而不是四行不同的代码来计数,每个食物的字母。

现在我们来看函数。你可能会问为什么我们需要函数?因为说实话,这已经是我们想要的了。但是当我们想要一些东西更可重复的时候,函数真的很有用,我们想要一些东西更有组织,它们都完成相同的任务。如果我想泛化,把这个打印出来的东西泛化到一个函数中,泛化到其他列表中,那么我就可以创建一个函数,通过使用def关键字,def definition关键字,或者define关键字,然后再加上你想要的函数名,同样,函数名越直观,以后就越容易与它交互。因为你得记得更牢。然后你要在里面添加一个参数名,在这里的括号里,后面跟着一个冒号。你可以看到这里我定义了一个非常简单的函数本质上和这里是一样的。你可以看到这条线和这条线是完全一样的。我要定义create length,现在我可以通过传递printlength来执行函数,function at list。 So if I were to comment this out, you will see that this actually does nothing because all I’m doing right now in this cell, it’s just defining a function. So I need to execute a function by calling this function and supply the function with a list or a parameter that I am interested in. So here, my private of interest is breakfast list, I’m gonna pass into it and I’m gonna execute this cell Shift + Enter again, so it is doing exactly what we are expecting it to do.

我们也可以通过给出不同的参数让函数变得更复杂一点。这是一个单参数函数,我可以选择有多个参数。这里我要让它简单一点,只有两个参数,但你想要多少都行,但可能不会太多,因为对你来说也很难读懂。假设现在我想数一下我最喜欢的食物。我冰淇淋计数和巧克力,我想把它们加到一起数数我有多少食物(喃喃自语)所以你可以看到,我只是定义这是冰淇淋,定义这是巧克力,你想怎么命名这个参数是取决于你,我可以选择的名字这个X和Y,它并不重要,只要你提供,参数正确,正确的变量,但是,这是更加明确,这样你以后就更容易回忆起来。你可以看到,现在它在为我自动求和,因为我在这里指定了加法,返回语句和加号。

所以你也想知道如果我知道其中一个参数总是500或者是一些你可以设置一个默认值,所以你不需要,你不需要保持提供相同的反复论证,这里,说我知道巧克力是总是要500,我可以供应这个默认值在函数本身的定义,然后我可以选择通过冰淇淋帐户,因为这是唯一的变化,我已经知道,函数已经知道巧克力是500。它很聪明,知道这是默认值你应该抓取它。所以我运行这个,然后你应该看到输出是完全相同的。

现在假设我们对数据非常着迷,我们想知道我们吃了多少巧克力,或者我们喜欢多少巧克力,这里我可以计算百分比,同样的事情,在这里你可以看到,不是只有两条线,函数,我在define和return语句之间有一些复杂的逻辑。你可以用巧克力和冰淇淋的和乘以100来表示巧克力的比例。我要用另一个建筑函数把数字四舍五入。这里,如果我运行这个,你可以再次看到这里有一个print语句它使用了F格式字符串和这里的变量,你可以看到它告诉我33%的时间我喜欢巧克力。因此,如果您忘记了函数的周长,您可以随时求助。所以只要在函数前面添加帮助,然后再按Shift + Enter,它就会告诉你这是冰淇淋,这是巧克力。这就是为什么要用合理的名字来命名函数的另一个原因。

我们已经定义了很多变量,所以有可能我们会忘记变量是什么,但是我们不用担心因为我们总是可以检查它们。简单回顾一下,我们定义了一个百分比变量,最佳食物,早餐清单,变量。我们可以检查类型percent,它是浮点数。浮点数实际上就是有小数点的数。如果你还记得,这里的百分比是33.33,这就是为什么它是浮点数。如果我要输入“最好的食物”,那就是一串。我不记得它是巧克力,披萨还是冰淇淋了,但我们知道它是一个字符串STR表示字符串。

这里,早餐列表,我们可以看到,我们可能从名字本身就知道,这是一个列表,这就是为什么命名非常重要,所以,是的,这是一个列表。在总结中,我们已经讲过了不同类型的变量,int是数值,它是一个没有小数点的整数,比如,1加1等于2,那将是一个整数而不是浮点数。浮点数是一个数值变量,它是一个有小数点的数字,比如百分数,33.33。字符串是字符序列的一种类型,比如,我吃了巧克力,披萨,冰淇淋,它们都是字符串类型,但它们也可以是任何字符的序列,比如,我可以选择用双引号或单引号括起文本和数字,我也可以选择用双引号括起这些数字,它们可以是字符串。我们可以快速地尝试一下,来检查一下,例如,如果我说,number,它是1 2 3,然后我要检查这个数字的类型。

他会说字符串,如果我取所有的引号,它是整数吗?如果我在这里添加hello,它也是一个字符串。只要一个文本被双引号或单引号括起来就会得到一个字符串。这里我们在布尔类型的开始暗示过,真或假,比如,这里我可以定义一个布尔变量,也许,你是,酷等于真,然后如果我检查,你是,酷,这是一个布尔变量。布尔变量意味着他有两个值,可以是真,也可以是假。如果我用一个双等号来检验这个布尔变量的性质,没问题。

它会检查你是否酷,等于true。那么,你在期待什么呢?所以我们应该期待这个结果为真因为这个变量确实为真。我们检查一下,是真的。如果我们检查这个是否为假,那么你可以知道因为它不等于假,它会返回为假。这里,是的,你已经完成了对Python的第一堂课,你可以看到所有你需要知道的,一个Python的基础概念是如何与不同类型的变量,你如何打印它们,你可以找出如何处理这些for循环功能,条件语句,和检查类型,一个很好的实践总是正确命名变量,或凭直觉,这样它可以帮助你更好的以后当你看着自己的代码。是的,这节课到此结束,你可以去这里,找到帮助页面,如果你回到技术讨论页面,进入这个文件夹,同样是Python入门,你可以看到有两个,有这个Buzz圈的一个圈,我点进去给你们看。所以这是一个非常常见的面试问题,所以我绝对推荐你试一试,里面也有解决方案,所以你也可以在迈出一步后看一看。

现在,我们还有20分钟,所以我们可以接受任何问题。

发生了什么? - [Karen]你说更快…抱歉,我只是想留一个提醒,让每个人都张贴在问答环节,但如果你能从聊天中获取它们,那就去吧。-是的,我看到一个问题,当你用数字赋值一个变量,然后用字符串重新赋值同一个变量时,会发生什么?我们试一下。

这里,如果我要用number赋值一个变量,我假设这就是你需要的,我们设它是1到0然后我用字符串赋值同一个变量。

有人想猜猜这个会输出什么吗?你能在聊天功能里回答吗?

好的,我看到字符串了,目前有两个人回答了字符串。

是的,所以它是正确的。它会得到字符串。为什么呢?是因为Python记得最新的变量赋值,是这个而不是这个。

我们可以在Databricks notebook环境中使用导出函数,这里我可以导出为IPython notebook,这意味着你以后也可以在Jupyter中使用,你可以将它导出为源文件,这意味着它会被写成PY。你可以在本地访问它的Python文件,然后你也可以将它导出为HTML链接,或者你可以导出不是,导出为DBC存档这是一个Databricks Notebook环境。因此,如果将其导出到DBC文件,则需要将反馈上传到Databricks环境。

这个文件,没有进一步的安全自动获得帮助,不,它没有。你可以选择与GitHub集成,但现在我还没有。

如果我给你们家按钮在这里,你可以看到,假在这里,上传,如果你有多个文件,说你想回到最近的文件,你有工作,然后你去最近的,选项卡在这里,你可以看到有一个Python基础文件,然后可以检索、最新的文件,你有工作。有很多关于如何整合帮助的文档,我们也可以发送出去。

Databricks和Azure Databricks之间有区别吗?让我把这个问题推迟到以后,因为我现在要专注于Python的基础知识,我们可以从一个笔记本电脑调用另一个笔记本电脑吗?你是说从别人那里买笔记本?

是的,布鲁克,快回答。-[主持人]事实上,我想有一个问题,或者几个问题,当Jupyter存在的时候,你为什么要用Databricks来做这个?砖环境——是的,所以,你可以看到,你可能记得在第一时间我显示,你可以邀请你的同伴与你的笔记本电脑,这是一个很方便的功能,你可以邀请用户相同的工作空间,你可以在这个合作,非常容易,,不同之处是什么砖也是集群,管理特性,因此,如果您正在使用砖运行Python或任何代码,那么Databricks将为您管理集群和环境。

在Community Edition上,一次只能运行一个集群。

你能再展示一次,你是如何把东西从GitHub转移到Databricks环境的吗?是的,我会。让我回到这个,GitHub链接,因为,我可以展示,我将给你们展示同样的东西。在这里你可以看到我的联系在一个顶级酒吧,我可以命令控制+ C复制它,而且它可以回到页面数据砖上,然后你可以点击主页按钮,然后下拉菜单中在你的电子邮件,然后你可以点击导入,再一次你可以导入一个文件或一个URL,或者一个文件只是意味着,你知道,在你的下载文件夹或任何目录(喃喃自语)你可以上传。然后你还可以选择通过URL导入,然后我可以输入这个URL然后我可以点击导入,然后,因为它们的名字是一样的所以这个要有后缀,点击一个,这是一个。

是的,所以创建一个集群中,你可以看到,这里有,集群中运行,所以我我无法创建第二个集群在Community Edition,但所有你需要做的就是去这个,你知道,我们看到这个侧边栏无处不在,我的意思是,在你当地的环境,然后你可以点击这个图标,你会把你这个页面,然后有一个蓝色的旗帜在这里说,创建集群,您可以创建集群,然后你可以在这里填上你的名字。

如果你想回到Databricks环境的登陆页,你也可以点击左上角的图标,就在这里,Databricks,然后你可以看到你可以从主页添加一个笔记本,而不是去主页图标点击创建一个新的笔记本。这是创建笔记本的两种不同方法,要么从主页图标,然后转到电子邮件下面的下拉菜单,然后继续创建笔记本,或者你可以,继续从登陆页面创建笔记本,Databricks环境的主页- [Presenter]然后是Chengyin Eng,看起来我们有一个问题要你用方法而不是函数来创建一个例子。如果你能证明的话。-(成音)这个问题在哪里?-[主持人]在问答环节。比如,字符串点上弦点下弦。比如显示函数和方法之间的区别。-[成音]好的,让我回到这一页。

是的,举个例子,如果我要,我想说,我想从早餐列表中删除一个项目,我可以选择使用,哦,这是我想先展示给你们的另一个功能。如果我已经命名了一个变量,比如说我想要break,但是我不记得如何拼写这个水库,或者我懒得和Rex交谈,你所需要做的就是在你的笔记本电脑上按tab键,在你的键盘上,你可以看到它给你不同的建议,不同的,对变量或不同的函数自动补全。这里,因为我对早餐列表感兴趣,我将在这里使用早餐列表,点击进去,然后按enter,然后你会看到变量的名字现在是自动补全的。如果我要删除最后一项或者从早餐列表中删除一项,我可以说remove,然后我想删除x,让我们试试这个,好吧,这实际上是在这个之前,让我打印出我的早餐列表,我想让你猜一下这会输出什么。这里有煎饼,X,华夫饼和牛奶。那么在我去掉X之后,早餐清单上还会有多少项目呢?

所以它应该是除了X以外的所有东西,所以你可以看到,现在我们没有X了。这是另一个你可以使用的布尔函数,你也可以,如果你还记得,有。

哦,不好意思是用绳子。这是另一个要移除的布尔函数。

与其他编程语言相比,是什么让Python在数据科学和数据工程方面如此出色?Python是多用途的,所以它在不同的用途上非常通用,比如,你可以选择在网站开发或数据分析中使用Python,或者只是构建应用程序,所以因为它更多功能,那么它就更容易跨团队协作,但仍然保持同一种语言。你能解释一下循环中断和继续功能吗?当然,我可以教你如何打破一个循环。

举个例子,在这里,我想说,我想说,如果食物等于华夫饼,那么我想打破这个循环,这意味着要确保在这一点上早餐列表包含什么。是的,煎饼、华夫饼和牛奶。这意味着如果我在这里使用break函数,它将不再打印牛奶。如果我运行Shift + Enter,不好意思,我需要打印。

哦,这个做了一些不同的事情,因为它在检查这是不是华夫饼,如果是华夫饼,它就会打印出来,如果不是,它就会打破它,这不是很有趣,所以我只会打印食物,然后我会说,如果食物等于华夫饼,然后我就会打破它。

是的,你可以看到现在它在检查,我在这里打印食物来知道序列在哪里这里我们知道他已经通过了煎饼他已经通过了华夫饼如果华夫饼,最好的食物是华夫饼,那么它就会打破序列,不再打印它们了。

是的,每个人都看到了如何创建一个新单元格,如果我把鼠标悬停在这个笔记本环境上,你可以看到中间有一个加号,你可以像这样插入一个新单元格,或者你也可以到单元格的右上角来添加或删除单元格。这里我可以说,我想添加一个新单元格,上面添加一个单元格,下面添加一个单元格,我也可以移动单元格,我也可以显示一个标题。我说如果我想显示一个标题,我可以点击这里,然后说,这是一个早餐列表。

你也可以选择这个运行单元格选项,你可以看到我想要运行这个单元格或者在上面运行,在下面运行。当你确定上面的所有东西都能正常工作时,这非常方便,你不想一行一行地执行你可以选择在上面和下面运行。

在本地机器上使用Jupyter Notebook比使用Python有什么特别的优势吗?这取决于你的个人喜好,有些人非常喜欢笔记本环境,也有些人非常不喜欢笔记本环境。我们可以看到,使用笔记本环境的好处是你可以看到执行过程中的输出,所以我可以肯定,就像现在,这就像1加1等于2,输出结果是。我们可以马上看到。但是如果我们使用本地的Python文件,那么你就会错过,你将不能立即看到输出,而是与代码一起看到。这取决于你的个人喜好。我的意思是,当然现在有这样的想法可以帮助你,呈现一个输出,我们在做同样的控制台,但是大家都用Python,所以我想说这归结于个人喜好。一个客户可以服务多少个贵族?这是个好问题。所以这取决于你在笔记本上的内存有多密集或者你的任务有多核心,比如,没有固定的数字你(听不清)你可以用完一个特定的集群,当然,把集群想象成一种资源,如果更多的人访问相同的资源或更多的人(听不清)访问相同的资源,这个资源必须更努力地执行你自己。是的,如果我有一个非常困难的笔记本,我知道我所有的本地机器已经需要10小时,然后即使是很小的集群中,你知道,例如,也许你只是喜欢,基本上只是,集群内存有限,如果你要跑到笔记本一个内存(喃喃自语)密集的光,另一个是那么肯定会慢下来的执行代码的环境,在集群上。 So the answer is it depends. Do we have a cheat sheet of all the functions in 10 (mumbles) provided anywhere?

这里有Spark doc,不是Spark document,而是Python,如果你回到这个网站,让我给你们看这个。

Chengyin英格

所以你可以看到,这是最后的教程,这的确显示一些语法,你可以看看,在这里,如果你不感兴趣,继续,你也可以看看这个,还有,只是概述你能做什么在Python中,所以我建议你通过本教程,如果你有兴趣学习更多关于Python,但你也可以去看文档。你可以看到在上面,上面,这里有英语,然后是两点两点的Python版本和文档。你可以看一下文档或者我的意思是,检查语法的最简单的方法就是检查,例如,list append然后我可以输入Python的三种语法,然后,你可以看到这里,你可以看到。python.org已经带你回到你可以在数据中做什么。你可以看到这里有追加扩展,插入,移除,这里是你如何获得更多关于你可以用Python做什么的信息。

我们还有五分钟,还有关于Python基础知识的问题吗?

是的,在以后的课程中我们会讲到Penn,但不会讲到Spark,因为这个系列研讨会的目的是让你理解如何使用常规的Python,没有任何我想知道什么是Spark或与Spark交互的先决条件。在接下来的研讨会上,我们会使用Python, Penn也会使用。

工作区中合作者的数量是3个,包括你,举个例子,我可以到这个工作区说我想让你邀请更多的人。我可以去任何控制台,因为这是一个社区版,所以它允许三个用户帐户,我可以添加一个用户,我说,好吧,我只是会,作弊,然后把+ 1在这里,现在,它说我能,我可以添加这个人,这个人应该收到一封电子邮件,好的,加一个人,电子邮件发送,但如果我试图添加一个第三人,你知道,这意味着总共四个,然后这个按钮是我猜了,然后他会说你的计划不允许超过三个用户帐户,更多的用户不会在Databricks协作中操作。因此,对于Community Edition,在一个工作区中最多只能有三个用户帐户。

下一节课的链接,我这么说吧,所有的资源都在同一个获取帮助页面上。所以你可以看到这里有一个技术谈话,回购行在这里是前缀和日期。所以对于一个专家来说,你可以看到2020年4月15日,它将是Python入门,你点击进去,然后再次使用从GitHub导入链接的相同过程,所以你可以复制你在这里提供的链接,你知道,从笔记本上,然后你可以把它导入到笔记本环境中。你们将会使用相同的嘻哈链接,但是每个笔记本使用的链接会不同,因为它是不同的文件或培训课程链接。

我不太确定。是的,凯伦,你知道吗?- [Karen]是的,所以我在聊天中放了它,如果你想要回复即将到来的两个研讨会,我在聊天中放了链接,然后我也会在后续的电子邮件中包括它。-是的,这是我刚从凯伦的聊天中打开的链接,所以我们可以,这是第一部分,是今天的,然后是第二部分,是下周的,然后是另一个关于Databricks的不同部分的技术演讲,这是另一个你也可以参加的,你甚至可以喜欢,但是,这个系列的第三部分将在4月22日。您也可以选择点击这里的回复,然后您将收到关于如何加入本次网络研讨会的电子邮件。

我们还有两分钟,我想这是结束的好时间,凯伦。-是啊,太好了。好的,没有问题了,非常感谢Chengyin的演讲,这很棒,我想每个人都很喜欢我们的内容,我们有超过300人参加,这真的很棒