首页 资讯 关注 科技 财经 汽车 房产 图片 视频 全国

数据

旗下栏目: 业内 数据 数码 手机

如何七周成为数据分析师19:Python的数据结构jj11jj

来源:网络整理 作者:www.ws007.net 人气: 发布时间:2017-08-13
摘要:本文是《如何七周成为数据分析师》的第十九篇教程,如果想要了解写作初衷,可以先行阅读七周指南。温馨提示:如果您已经熟悉Python,大可不必再看这篇文章,或

推荐相关文章:

如何七周成为数据分析师18:Py本文是《如何七周成为数据分析师》的第十八篇教程,如果想要了解写作初衷,可以先行阅读七周指南。温馨提示:如果您已经熟悉Python,大可不必再看这篇文章,或

日本J联赛详细数据分析公狐狸各位足球财富的读者大家好,相信之前的文章给大家带来了很大的帮助。我一直认为,大概率事件是给我们带来稳定收益的保障,大家有心可以翻看一下我之前的数据分

本文是《如何七周成为数据分析师》的第十九篇教程,如果想要了解写作初衷,可以先行阅读七周指南。温馨提示:如果您已经熟悉Python,大可不必再看这篇文章,或只挑选部分。

如何七周成为数据分析师19:Python的数据结构jj11jj

Python一共有三大数据结构,它是Python进行数据分析的基础,分别是tuple元组,list数组以及dict字典。本文通过这三者的学习,打下数据分析的基础。

数组

数组是一个有序的集合,他用方括号表示。

如何七周成为数据分析师19:Python的数据结构jj11jj

num就是一个典型的数组。数组不限定其中的数据类型,可以是整数也可以是字符串,或者是混合型。

数组可以直接用特定的函数,函数名和Excel相近。

如何七周成为数据分析师19:Python的数据结构jj11jj

sum是求和,len则是统计数组中的元素个数。

上述列举的函数是数组内整体元素的应用,如果我只想针对单一的元素呢?比如查找,这里就要用到数组的特性,索引。索引和SQL中的索引差不多,都是用来指示数据所在位置的逻辑指针。数组的索引便是元素所在的序列位置。

如何七周成为数据分析师19:Python的数据结构jj11jj

注意,索引位置是从0开始算起,这是编程语言的默认特色了。num[0]指数组的第一个元素,num[1]指数组的第二个元素。

我们用len()计算出了数组元素个数是5,那么它最后一个元素的索引是4。若是数组内的元素特别多呢?此时查找数组最后一位的元素会有点麻烦。Python有一个简易的方法,可以用负数表示,意为从最后一个数字计算索引。

如何七周成为数据分析师19:Python的数据结构jj11jj

这里的num[4]等价于num[-1],num[-2]则指倒数第二个的元素。

再来一个新问题,如何一次性选择多个元素?例如筛选出数组前三个元素。在Python中,用:表示范围。

如何七周成为数据分析师19:Python的数据结构jj11jj

num[0:3]筛选了前三个元素,方括号左边是闭区间,右边是开区间,所以这里是num[0],num[1]和num[2],并不包含num[3]。这个方法叫做切片。

如何七周成为数据分析师19:Python的数据结构jj11jj

上述是索引的特殊用法,[0:]表示从第0个索引开始,直到最后一个元素。[:3]表示从第一个元素开始,直到第3个索引。

如何七周成为数据分析师19:Python的数据结构jj11jj

负数当然也有特殊用法。[-1:]表示从最后一个元素开始,因为它已经是最后一个元素了,所以只返回它本身。[:-1]表示从第一个元素开始到最后一个元素。num[-2:-1]和num[-3:-1]大同小异。

数组的增删查

我们已经了解数组的基本概念,不过仍旧停留在查找,它不涉及数据的变化。工作中,更多需要操纵数组,对数组的元素进行添加,删除,更改。

数组通过insert函数插入,函数的第一个参数表示插入的索引位置,第二个表示插入的值。

如何七周成为数据分析师19:Python的数据结构jj11jj

另外一种方式是append,直接在数组末尾添加上元素。它在之后讲到迭代和循环时应用较多。

如何七周成为数据分析师19:Python的数据结构jj11jj

如果要删除特定位置的元素,用pop函数。如果函数没有选择数值,默认删除最后一个元素,如果有,则删除数值对应索引的元素。

如何七周成为数据分析师19:Python的数据结构jj11jj

更改元素不需要用到函数,直接选取元素重新赋值即可。

如何七周成为数据分析师19:Python的数据结构jj11jj

到这里,数组增删改查已经讲完,但这只是一维数组,一维数组之上还有多维数组。如果现在有一份数据是关于学生信息,一共有三个学生,要求包含学生的姓名,年龄,和性别,应该怎么用数组表示呢?

有两种思路,一种是用三个一维数组分别表示学生的姓名,年龄和性别。

如何七周成为数据分析师19:Python的数据结构jj11jj

学生属性被拆分成多个数组,利用索引来表示其信息,这里的索引有些类似SQL的主键,通过索引查找到信息。但是这种方法并不直观,实际应用会比较麻烦,更好的方法是表示成多维数组。

如何七周成为数据分析师19:Python的数据结构jj11jj

所谓多维数组,是数组内再嵌套数组,图中表示的是一个宽度为3,高度为3的二维数组。此时student[0]返回的是数组而不是单一值。这种方法将学生信息合并在一起,比第一个案例更容易使用。

如果想选择第一个学生的性别,应该怎么办呢?很简单,后面再加一个索引即可。

如何七周成为数据分析师19:Python的数据结构jj11jj

现在尝试快速创建一个多维数组。

如何七周成为数据分析师19:Python的数据结构jj11jj

[0]*3将快速生成3个元素值为0的数组,这是一种快捷操作,而[row]*4则将其扩展成二维数据,因为是4,所以是3*4的结构。

这里有一个注意点,当我们想更改多维数组中的某一个元素而不是数组时,这种方式会错误。

如何七周成为数据分析师19:Python的数据结构jj11jj

为您推荐与如何七周成为数据分析师19:Python的数据结构jj11jj相似的文章阅读:

如何七周成为数据分析师18:Python的新手教程张万年死前吐真言

本文是《如何七周成为数据分析师》的第十八篇教程,如果想要了解写作初衷,可以先行阅读七周指南。温馨提示:如果您已经熟悉Python,大可不必再看这篇文章,或只挑选部分。

如何七周成为数据分析师18:Python的新手教程张万年死前吐真言

Python是近年来最火爆的语言,已经作为数据分析和机器学习的首选语言之一。

Python虽然被诟病不够快,但足够灵活和易上手。Python教程主要围绕数据分析展开,所以技术原理这类内容会略过,可以认为这是一篇重应用的课程。

想学会一门语言不是一朝一夕的事情,若大家想成为技术型的数据分析师,或者未来往数据挖掘发展,建议你要比文章内容学得更深。所有的代码最好都手打一遍,这是最有效的学习方式。

数据分析环境

Python的编写环境,用Anaconda足矣。Anaconda是专业的数据科学计算环境,已经集成绝大部分包和工具,不需要多余的安装和调试。

Python版本建议3.0以上,现在最新版本是3.6,不要选择2.7的版本,否则你会被无尽的中文编码问题困扰。

Anaconda在官网continuum.io/downloads 下载,选择最新版本,约400MB。

完成安装后,Win版本会多出几个程序,Mac版本只有一个Navigator导航。数据分析最常用的程序叫Jupyter,以前被称为IPython Notebook,是一个交互式的笔记本,能快速创建程序,支持实时代码、可视化和Markdown语言。

点击Jupyter进入,它会自动创建一个本地环境localhost。

如何七周成为数据分析师18:Python的新手教程张万年死前吐真言

点击界面右上角的new,创建一个python文件。

开始你的Python

如何七周成为数据分析师18:Python的新手教程张万年死前吐真言

界面上部是工具栏,编辑撤回运行等,下面是快捷操作,大家以后会熟悉的。页面正中便是脚本执行的地方,我们输入自己第一行代码吧:

如何七周成为数据分析师18:Python的新手教程张万年死前吐真言

(我就不用hello world)灰色框是输入程序的地方,回车是换行,shift+回车执行灰色区域的代码,它的结果会直接在下面空白处出现。这就是Jupyter交互式的强大地方,将Python脚本分成片段式运行,尤其适合数据分析的摸索调整工作。

#p#分页标题#e#

这里的print叫函数,和excel的函数同理,是程序执行的主体,负责将输入转化成输出(函数留在下一篇细讲)。这里将hello qinlu这段文字输出。新手可能会奇怪为什么要加引号,这种用引号括起来的文字在程序中叫字符串。

Python是一门计算机语言,它的逻辑和自然语言不一样,编程语言的目的是执行任务,所以它不能有歧义。为了规避各种歧义,人们创造了语法规则,只有正确的语法,才能被转换成CPU执行的机器码。

先了解Python语法中的数据类型。计算机最开始只被用于数值运算,后来被赋予了各种丰富的数据类型。

如何七周成为数据分析师18:Python的新手教程张万年死前吐真言

上面两个是小学生都会的四则运算,在计算机语言中可没有那么简单。它涉及了两个数值类型,整数int和浮点数float。整数和浮点数在计算机内部存储的方式是不同的,我们不用知道具体原理,明确一点,整数运算是永远精确的,浮点运算则可能有误差。

两种数据类型也可以互换,通过int函数和float函数。

如何七周成为数据分析师18:Python的新手教程张万年死前吐真言

有了数值,必然有文本,程序中叫字符串,用英文引号括起来表示。单引号和双引号没有区别,所以”qinlu”和’qinlu’是等价的,引号是边界,输出的时候不会包含它。当字符串内本身包含引号时,也不影响使用。

如何七周成为数据分析师18:Python的新手教程张万年死前吐真言

需要注意的是,不论单引号还是双引号,一旦混用很容易出现错误。因为程序并不知道它是字符串的边界还是符号。

如何七周成为数据分析师18:Python的新手教程张万年死前吐真言

解决方法有两种,一种是使用三引号,三引号代表整体引用,而且包含换行。第二种是引号前面加\,它是转义字符,表示这个引号就是单纯的字符。

如何七周成为数据分析师18:Python的新手教程张万年死前吐真言

三引号也可以用来注释,通常是大段的文字解释,如果一句话,我们更习惯用#,#后面的内容均不会作为程序执行。

时间是特殊的数值类型,它将结合datetime模块讲解。

还有两个常见的数据类型,布尔值和空值。布尔值是逻辑判断值,只有True和False。

如何七周成为数据分析师18:Python的新手教程张万年死前吐真言

#p#分页标题#e#

布尔值在IF语句和数据清洗中经常使用,利用其过滤。布尔值能和布尔值运算,不过这里是and、not、or作为运算符,Ttue and True = True,False and True = False,False and False = False,not True = False,True or False = False等。

空值是一个特殊的值,表示为None,None不等于0,0具有数学意义而None没有,None更多表示该值缺失。

整数,浮点数,字符串,布尔值,空值就是Python常见的数据类型。Python3对中文的支持比较友好,所以大家可以用中文作为字符串试一下print。

数据类型构成了变量的基础,变量可以是任意的数据类型。想要用变量,必须先赋予变量一个值,这个过程叫赋值。

如何七周成为数据分析师18:Python的新手教程张万年死前吐真言

我首先给a赋予了一个整数值1,然后改变它为字符串abc,变量在Python中没有固定的数值类型,这是Python最大的优点,所以它在数据分析中很灵活。这也是它被称为动态语言的原因,相对应的叫静态语言。

Python是大小写敏感的语言,所以a和A是有区别的,这点请牢记。另外变量名尽可能使用英文,不要拼音,英文的可读性是优于拼音的。

变量有两种拼写风格,一种叫驼峰,一种叫下划线,以用户ID为例。驼峰命名法为userId,以一串英文词语user和id组成变量,第一个词语的首字母小写,第二个词语开始的首字母均大写。下划线命名法为user_id,全部小写,用_分割单词。

如何七周成为数据分析师18:Python的新手教程张万年死前吐真言

一个变量的值可以被赋予另外一个变量,如果b变量之前有另外一个值,那么会被1覆盖。呈从上而下的执行关系。

如何七周成为数据分析师18:Python的新手教程张万年死前吐真言

初看a = a + 1好像有逻辑问题,其实这涉及到了程序执行的先后顺序,程序是先计算a+1的值得到2,然后将其赋予(覆盖)了a。等号右边的计算先于左边,这是从右到左的逻辑关系。

有变量,自然有常量,常量是固定不变的量,可是在Python中没有真正意义的常量,一切皆可变,它更多是习惯上的叫法,即一旦赋值,就不再改变了。

Python的基础数学运算符号有+,-,*,/,//,%。前面四个就是加减乘除,其中除法的结果一定是浮点数。后面两个符号是除法的特殊形式,//代表除法中取整数,%代表除法中取余数。

如何七周成为数据分析师18:Python的新手教程张万年死前吐真言

到这里,新手部分已经讲解完成。因为考虑到大家的基础不一致,故早期内容并不难,后续学习难度才会逐渐递增。下一章讲解数据结构。

互联网数据分析能力的养成,需一份七周的提纲

如何七周成为数据分析师01:常见的Excel函数全部涵盖在这里了

如何七周成为数据分析师02:Excel技巧大揭秘

如何七周成为数据分析师03:手把手教你Excel实战

如何七周成为数据分析师:Excel技巧之甘特图绘制(项目管理)

如何七周成为数据分析师:Excel技巧之打造多级菜单

如何七周成为数据分析师04:数据可视化之经典图表合集

如何七周成为数据分析师05:数据可视化之打造升职加薪的报表

如何七周成为数据分析师06:数据可视化之手把手打造BI

如何七周成为数据分析师07:快速掌握麦肯锡的分析思维

如何七周成为数据分析师08:如何建立数据分析的思维框架?

如何七周成为数据分析师09:写给新人的数据库指南

如何七周成为数据分析师10:SQL,从入门到熟练

如何七周成为数据分析师11:SQL,从熟练到掌握

如何七周成为数据分析师12:解锁数据分析的正确姿势(上)

如何七周成为数据分析师13:解锁数据分析的正确姿势(下)

如何七周成为数据分析师14:概率论的入门指南

如何七周成为数据分析师15:读了本文,你就懂了概率分布

如何七周成为数据分析师16:数据分析必须懂的假设检验

如何七周成为数据分析师17:最全的运营数据指标解读

#专栏作家#

秦路,微信公众号ID:tracykanc,人人都是产品经理专栏作家。

本文由 @秦路 原创发布于人人都是产品经理。未经许可,禁止转载。

如何七周成为数据分析师18:Python的新手教程张万年死前吐真言


责任编辑:www.ws007.net
首页 | 资讯 | 关注 | 科技 | 财经 | 汽车 | 房产 | 图片 | 视频 | 全国

Copyright © 2017-2018 宿州信息网 版权所有 技术支持:义马鸿运天成网站建设 网站内容维护QQ:99928838

电脑版 | 移动版