2016 - 2024

感恩一路有你

python最简单的数据类型 python条件语句if和else的用法?

浏览量:4169 时间:2023-07-02 16:11:23 作者:采采

python条件语句if和else的用法?

在编程时,压制在什么情况下正常运行什么代码的流是非常重要的。大数据分析pythonifelse命令的作用类似数字交通警察,可让您定义在不满足某些条件时运行的代码块。该ifelse语法是大数据分析python语法,你会能学的最有用的部分之一。

在本教程中,您将怎么学习如何使用大数据分析pythonifelse压制代码。我们题中您早所了解一些大数据分析python基础知识,或者:

a.该如何无法读取CSV文件

b.基本是的大数据分析python类型,或者列表,字符串和整数

c.使用for循环处理列表。

如果不是您因此还不满意,我们我建议你您参加此能免费的交互式视频大数据分析python基础知识课程,该课程将研究员所有这些内容(包括大数据分析pythonifarguments!)。

Taco数据集

我们将学习如何在可以使用ifelse数据集时使用大数据分析python,该数据集归纳了特定月份在Dataquest的在线聊天中可以使用的虚拟软件炸玉米饼。

在AAA教育,我们在Slack中需要提供了虚拟充值玉米饼(在用HeyTaco),以表示感谢或奖励表现出色的同事。您可以不将炸玉米饼带回去某人,以按照一条消息向您表示感谢,或者:

我们将对HeyTaco的数据并且一些分析,以回答无关人们的捐赠习惯的一些基本都问题。数据集储存在CSV文件中

如何使用Python Pandas模块读取各类型文件?

Python的pandas库是使Python下一界主要用于数据分析的出众编程语言的一件事。Pandas使导入,分析和可视化数据变地更加很容易。它建立起在NumPy和matplotlib之类的软件包的基础上,使您这个可以比较方便地进行大部分数据分析和可视化工作。

在此Python数据科学教程中,我们将建议使用EricGrinstein抓取的数据,使用Pandas总结充斥流行的视频游戏评论网站IGN的视频游戏评论。哪个主机赢得了“控制台大战”(就游戏的审查而言)?该数据集将帮我们看出答案。

当我们分析什么视频游戏评论时,我们将知道一点最重要的的Pandas概念,比如索引。您是可以一直接受开去,并在我们的许多其他Python教程之一中或是从去注册PythonPandas课程来打听一下关联Python和Pandas的更多信息。我们的许多其他数据科学课程也都可以使用Pandas。

千万要下,本教程使用Python3.5c语言程序,并建议使用JupyterNotebook构建体系。您可能使带的是Python,pandas和Jupyter的更新版本,但结果应该是都差不多完全相同。

用Pandas导入数据

如果不是您正准备使用本教程,则必须直接下载数据集,您也可以在此处并且你的操作。

我们将采取什么措施的目标是读取数据。数据以逗号相互交错的值或csv文件存储,其中每行用换行互相连通,每列用逗号(,)分隔。这是ign.csv文件的前几行:

如您在上方看到的,文件中的每一行代表一个游戏,该游戏也过IGN审查。这些列真包含关联该游戏的信息:

1)score_phrase—IGN如何用一个词比喻游戏。这链接到它通知的分数。

2)title-游戏名称。

3)url—您可以不在其中查看求完整评论的URL。

4)platform-审查游戏的平台(PC,PS4等)。

5)score—游戏的得分,从1.0到10.0。

6)genre—游戏类型。

7)editors_choice-N假如游戏并非编辑选择的Y话,这样是。这与得分休戚相关。

8)release_year-游戏首页的年份。

9)release_month-游戏先发布的月份。

10)release_day-游戏发布的那天。

还有一个一个前导列,其中中有行索引值。我们是可以放心好了地看出此列,但稍等将深入探讨哪些索引值。

目的是在Python和pandas中比较有效地一次性处理数据,我们需要将csv文件读取到PandasDataFrame中。DataFrame是表示和如何处理表格数据的一种,表格数据是表格形式的数据,比如电子表格。表格数据具备行和列的格式,得象我们的csv文件差不多,只不过如果没有我们也可以将其作为表格查看,则对于更也易泛读和排序。

目的是读取数据数据,我们是需要不使用_csv函数。此函数将接收一个csv文件并直接返回一个DataFrame。以上代码将:

a.文件导入pandas库。我们将其文件名为,pd以备万一越快地键入。这是数据分析和数据科学中的标准约定,您你经常会见到导入的Pandas看上去像pd其他人的代码完全不一样。

b.读ign.csv入一个DataFrame,并将结果怎么分配给一个名为的新变量,reviews以便我们这个可以reviews利用引用我们的数据。

读完后DataFrame后,以更直观的去看看我们所我得到的内容将很有帮助。Pandas比较方便地为我们能提供了两种方法,是可以快速地将数据打印出来到表中。这些功能是:

1)DataFrame.head()—可以打印DataFrame的前N行,其中N是您充当参数传达消息给函数的数字,即DataFrame.head(7)。如果不是不传信任何参数,则缺省设置为5。

2)DataFrame.tail()—打印DataFrame的结果N行。则是,默认值为5。

我们将在用该head方法栏里点其中的内容reviews:

我们还可以不不能访问属性,以一栏以下行reviews:

如我们所见,所有内容均已对的读取数据-我们有18,625行和11列。

与相似的NumPy这样的Python软件包比起,建议使用Pandas的一大优势是Pandas不允许我们具备具高相同数据类型的列。在我们的数据几乎全部,reviews我们有存储浮点值(如)score,字符串值(如score_phrase)和整数(如)的列release_year,并且在此处可以使用NumPy会很困难,但Pandas和Python可以不非常好地处理它。

现在我们已经对的地无法读取了数据,让我们结束成立索引reviews以获取所需的行和列。

用Pandas索引DataFrames

之前,我们建议使用了该head方法来不打印的第一5行reviews。我们也可以使用方法成功同样的事情。该iloc方法愿意我们按位置数据库检索行和列。为此,我们需要指定所需行的位置以及所需列的位置。下面的代码将reviews.head()实际中,选择行0到5,这些数据聚集的所有列来剪切粘贴我们的结果:

让我们更潜近地研究什么我们的代码:我们委托了是想的rows0:5。这意味着我们打算从position0到(但不以及)position的行5。

第一行被怀疑是在位置0,因此中,选择行0:5给了我们行的位置0,1,2,3,和4。我们也不需要所有列,并且在用快捷来你选择它们。它的工作是这样的:如果我们不就是喜欢第一个位置值,例如:5,那是题中我们的意思0。要是我们看出了第一个位置值(如)0:,则可以假设我们是指DataFrame中的之后一行或结果一列。我们不需要所有列,因此只指定你了一个冒号(:),没有任何位置。这使我们的列从0到最后一列。以下是一些索引示例在内结果:

1)[:5,:]—第一5行,在内这些行的所有列。

2)[:,:]—整个DataFrame。

3)[5:,5:]—从位置5正在的行,从位置又开始的列5。

4)[:,0]—第一列,和该列的所有行。

5)[9,:]—第十行,包括泸州银行的所有列。

按位置索引与NumPy索引相当几乎一样。要是您想所了解一些信息,这个可以写作我们的NumPy教程。现在我们清楚了如何按位置索引,让我们删除掉第一列,该列没有任何用处不大的信息:

在Pandas中建议使用标签在Python中确立索引

要是我们明白了怎么按位置检索系统行和列,这样愿意研究什么不使用DataFrames的另一种要注意方法,即按标签数据库检索行和列。与NumPy两者相比,Pandas的比较多优势在于,每一列和每一行都有一个标签。可以一次性处理列的位置,可是没法跟踪哪个数字按于哪个列。

我们是可以使用方法处理标签,该方法不允许我们建议使用标签而不是位置参与索引。我们是可以reviews在用200以内loc方法没显示前五行:

上面的内容但是与完全没有太大的不同[0:5,:]。这是因为但他行标签可以按结构任何值,但我们的行标签与位置值相。您是可以在上方表格的最左侧看到行标签(它们以粗体会显示)。您还可以不实际不能访问DataFrame的index属性来查找它们。我们将显示的行索引reviews:

Int64Index([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,...],dtypeint64)

但是,索引不一定老是与位置自动分配。在下面的代码单元中,我们将:

a.获取行10至行20的reviews,并分配结果some_reviews。

b.总是显示的第一5行some_reviews。

睽车志所示,在中some_reviews,行索引成于,10结束后于20。并且,试图loc可以使用大于110或大于1的数字20将可能导致错误:

some_reviews.loc[9:21,:]

具体而言,在在用数据时,列标签可以不使工作变得异常十分随意。我们这个可以在loc方法中指定列标签,以按标签而不是按位置检索列。

我们还可以是从传入列表来两次更改多个列:

Pandas系列对象

我们是可以按照几种不同的在Pandas中检索数据库单个列。到我所知道的,我们早见到了两种语法:

1)[:,1]—将数据库检索第二列。

2)reviews.loc[:,score_phrase]—还将数据库检索第二列。

有第三种哪怕更太容易的方法来检索整列。我们可以在方括号中指定列名称,的或使用字典:

我们还也可以按照以下方法不使用列列表:

当我们数据库检索单个列时,只不过是在检索系统Pandas Series对象。DataFrame存储表格数据,而Series存储数据的单列或单行。

我们也可以修改密保单个列如何确定为系列:

我们是可以手动启动创建家族系列以更好地知道一点其工作原理。要创建一个Series,我们在实例化它时将一个列表或NumPy数组传递给Series对象:

系列是可以中有任何类型的数据,包括混合类型。在这里,我们创建角色一个中有字符串对象的系列:

在Pandas中创建家族一个DataFrame

我们是可以通过将多个Series传信到DataFrame类中来创建家族DataFrame。在这里,我们传来还未修改的两个Series对象,

s1以及第一行,s2充当第二行:

我们还可以不在用列表列表能完成同样的事情。每个内部列表在结果DataFrame中被斥之一行:

我们可以不在创建家族DataFrame时重新指定列标签:

在内行标签(索引):

还请注意一点,不要缩起和单独的行。我们也以这种编译程序了代码,以使其更也易解析,不过您你经常会遇见将它们完全改写成一行的情况。例如,100元以内代码将出现与我们在本段上方的表中看见了的结果彻底相同的结果:

无论如何,去添加标签后,便可以不建议使用它们对DataFrame参与索引:

columns如果不是将字典传信给DataFrame构造函数,则可以不蹦指定你关键字参数的操作。这将手动设置中列名称:

PandasDataFrame方法

如前文所述,scikit-learnDataFrame中的每一列大都Series对象:

我们是可以在Series对象上动态创建与在DataFrame上可以不动态创建的大多数同一的方法,包括head:

PandasSeries和DataFrames还具备其他使计算更很简单方法。的或,我们这个可以使用方法来查找Series的均值:

我们还是可以内部函数类似的方法,该方法设置为情况下将查看DataFrame中每个数字列的平均值:

我们这个可以改axis关键字参数以mean可以计算每行或每列的平均值。默认情况下,axis等于0,并将算出每列的平均值。我们还可以不将其设置1为计算出每行的平均值。请尽量,这只会计算3行中数值的平均值:

(axis1)

0510.500

1510.500

2510.375

3510.125

4510.125

5509.750

6508.750

7510.250

8508.750

9509.750

10509.875

11509.875

12509.500

13509.250

14509.250

...

18610510.250

18611508.700

18612509.200

18613508.000

18614515.050

18615515.050

18616508.375

18617508.600

18618515.025

18619514.725

18620514.650

18621515.000

18622513.950

18623515.000

18624515.000

Length:18625,dtype:float64

Series和DataFrames上有很多类似的方法mean。这里有一些比较方便的东西:

1)—查找DataFrame中各列之间的相关性。

2)—计算出每个DataFrame列中非空值的数量。

3)—在每一列中不能找到的最值。

4)—查看每一列中的最小值。

5)—查看每列的中位数。

6)—中搜索每列的标准偏差。

的或,我们可以不不使用该corr方法一栏是否需要有任何列与关联score。这可以说说我们最近首页的游戏额外了更高的评价(release_year),那就在年底之前查找的游戏完成任务了更好的评分(release_month):

事实上我们在上面注意到的那样的,我们的数字列都也没与关联score,因此我们很清楚发布时间与评论评分却不是线性相关。

DataFrameMath与Pandas

我们还也可以不使用pandas在Python中的Series或DataFrame对象上想执行数算。例如,我们可以将score列中的每个值除以22以将刻度从0–切换到10到0–5:

reviews[score]/2

04.50

14.50

24.25

34.25

44.25

53.50

61.50

74.50

81.50

93.50

103.75

113.75

123.50

134.50

144.50

...

186103.00

186112.90

186123.90

186134.00

186144.60

186154.60

186163.75

186174.20

186184.55

186193.95

186203.80

186214.50

186222.90

186235.00

186245.00

Name:score,Length:18625,dtype:float64

所有广泛的数算符在Python的工作,如,-,*,/,和^将在系列或DataFrames大Pandas的工作,因此将适用于每一个元素在一个数据帧或一个系列。

Pandas中的布尔索引

现在我们也了解了一些Pandas的基础知识,让我们不再并且分析。我们前面看到的,总平均都在值的score列reviews左右7。要是我们想可以找到所有得分多都高于平均水平的游戏怎么办啊?

我们是可以先接受都很。比较比较会将“系列”中的每个值与委托值接受比较比较,接着生成一个“系列”,其中真包含表示都很状态的布尔值。使用Python Pandas总结视频游戏数据的或,看到哪些行的score值小于7:

score_filterreviews[score]r267

score_filter

0True

1True

2True

3True

4True

5False

6False

7True

8False

9False

10True

11True

12False

13True

14True...

18610False

18611False

18612True

18613True

18614True

18615True

18616True

18617True

18618True

18619True

18620True

18621True

18622False

18623True

18624True

Name:score,Length:18625,dtype:bool

有了布尔系列后,我们也可以建议使用它来你选择DataFrame中该系列包涵value的行True。所以,我们没有办法你选择行reviews,其中score小于7:

可以不可以使用多个条件通过过滤。打比方我们要查看对于发行Xbox One的得分超过的游戏7。在下面的代码中,我们:

a.可以设置两个条件的过滤器:

1)检查是否是score为07。

2)检查是否platform相等Xbox One

b.应用过滤器以reviews仅资源所需的行。

c.在用head方法不打印的第一5行filtered_reviews。

在建议使用多个条件参与过滤时,将每个条件放在括号中铁钩一个amp符号(amp)分隔开来是很不重要的。

Pandas图

现在我们很清楚如何能过滤杂质,我们是可以创建角以观察的回顾曾经广泛分布Xbox One与的重新回顾其分布PlayStation 4。这将好处我们考虑哪个控制台具高更好的游戏。

我们可以是从直方图来能做到这一点,该直方图将草图完全不同得分范围内的频率。我们可以使用方法为每个控制台怎么制作一个直方图。该方法用来幕后的流行Python绘图库matplotlib生成美观的绘图。

该plot方法设置为为手工绘制折线图。我们不需要传去关键字参数kindhist来绘制直方图。在下面的代码中,我们:

a.可致电%matplotlibinline以在Jupyter笔记本中系统设置绘图。

b.过滤reviews以仅包涵无关的数据Xbox One。

c.手工绘制score列。

我们也是可以对PS4:

从我们的直方图中可以猜想,与相比较,PlayStation 4更具更高评级的游戏Xbox One。

显然,这仅仅冰山一角,涉及到我们可以不利用总结该数据集的潜在原因方向,但我们早就有了三个非常好的开端:我们也可以使用Python和pandas再导入了数据集,并要会了建议使用各种不同的索引方法选择我们打算的数据点,并并且了一些迅速的探索性数据分析,以回答我们结束时遇到的问题。

数据 Pandas 方法 DataFrame 游戏

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。