本文是《如何七周成为数据分析师》的第十八篇教程,如果想要了解写作初衷,可以先行阅读七周指南。温馨提示:如果您已经熟悉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。

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

开始你的Python

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

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

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

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

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

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

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

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

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

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

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

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

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

布尔值在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。

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

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

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

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

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

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

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

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

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

相关阅读

#专栏作家#

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

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

给作者打赏,鼓励TA抓紧创作!赞赏

4人打赏

python数据分析要学多久_如何七周成为数据分析师18:Python的新手教程相关推荐

  1. python怎么用大数据分析师_如何七周成为数据分析师18:Python的新手教程

    本文是<怎样 七周成为数据剖析 师>的第十八篇教程,假定 想要了解 写作初衷,能够 先行阅读七周指南.温馨提示:假定 您曾经 熟习 Python,大可不用 再看这篇文章,或只选择 部分 . ...

  2. 如何成为python 数据分析师_如何七周成为数据分析师20:了解和掌握Python的函数...

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

  3. (秦路)七周成为数据分析师(第一周)—— 数据分析思维

    文章目录 1. 什么是数据分析 2.应该怎么学 3. 数据分析思维 3.1 三种核心思维 3.1.1 结构化 3.1.2 公式化 3.1.3 业务化 3.2 数据分析的思维技巧 3.3 数据分析思维九 ...

  4. (秦路)七周成为数据分析师(第七周)——Python

    文章目录 1.Python基础 2.Pandas 2.1 series 生成 用索引读取相应的行 2.2 DataFrame 生成 查看形状 查看属性和信息 查看数据类型 查看某列有多少种元素 查看某 ...

  5. 转:《七周成为数据分析师》总结

    本文转自: https://blog.csdn.net/weixin_39722361/article/details/79522111 个人公众号:数据路 知乎:无小意. 百日计划第一周总结 1. ...

  6. 天善磨剑之作,七周成为数据分析师秦路主讲

    章节1: 如何七周成为数据分析师   课时1:为什么需要七周   课时2:七周应该怎么学 章节2: 第一周:数据分析思维   课时3:为什么思维重要   课时4:数据分析的三种核心思维(结构化)    ...

  7. [学习笔记]B站视频:磨剑之作,七周成“师”!【七周成为数据分析师】- 第一周

    [学习笔记]B站学习视频:七周成为数据分析师-第一周 序 数据思维 结构化 公式化 业务化 数据分析的思维技巧 象限法 多维法 假设法 指数法 二八法 对比法 漏斗法 如何在业务时间锻炼数据分析思维 ...

  8. 七周成为数据分析师 第二周:业务篇-框架与模型

    七周成为数据分析师 第七周:Python - CSDN博客 七周成为数据分析师 第六周:统计学 - CSDN博客 七周成为数据分析师 第五周:Mysql - CSDN博客 七周成为数据分析师 第四周: ...

  9. 七周成为数据分析师 第二周:业务篇-指标

    七周成为数据分析师 第七周:Python - CSDN博客 七周成为数据分析师 第六周:统计学 - CSDN博客 七周成为数据分析师 第五周:Mysql - CSDN博客 七周成为数据分析师 第四周: ...

最新文章

  1. 经典!工业界深度推荐系统与CTR预估必读的论文汇总
  2. 华人科学家,Yang-Kieffer算法之父杨恩辉斩获Eric E.Summer奖
  3. Android开发--FileInputStream/OutStream/Sdcard写入
  4. c#读取xml中特定节点的值(实例)
  5. ZoomIt – 屏幕标注、电子画笔 [小工具]
  6. WebSocket协议探究(序章)
  7. 客户的一个紧急bug,我用了两种方式进行 C# 反编译修改源码
  8. 【Django】数据库主从配置
  9. Android studio下载安装使用遇到的问题及解决办法
  10. java c3p0 存储过程_JAVA Spring 连接池 调用 Oracle 存储过程的问题?
  11. feign传递数组_feign中传递自定义MultipartFile
  12. [转载] Python 学习 - Numpy
  13. [编写高质量代码:改善java程序的151个建议]建议43 避免对象浅拷贝; 建议44:推荐使用序列化实现对象的深拷贝...
  14. svchost 100%怎么办==》win
  15. 字节跳动斥巨资开发出《Python知识手册》
  16. 利用Procexp工具监控Windows平台上的Oracle数据库性能
  17. 多年 iOS 开发经验总结
  18. IDA的新手入门指南
  19. LM393实现简易PWM调压电路
  20. html 广告弹窗代码,广告弹窗.html

热门文章

  1. JS实现:鼠标悬停图片,图片由彩色变为灰色
  2. 支持向量机(SVM)-文本分类 (1)
  3. HDU2216:Game III(BFS)
  4. SQL SERVER 2008筛选时报错 无法为该请求检索数据
  5. 2013年测试工作总结
  6. ES6新特性_ES6语法糖-class中的getter和setter设置---JavaScript_ECMAScript_ES6-ES11新特性工作笔记038
  7. 通过二进制方式_部署CNI网络和集群测试---K8S_Google工作笔记0015
  8. SpringCloud学习笔记010---杂七杂八004:Spring中Bean及@Bean的理解
  9. 二叉树前序中序,后序中序,公共最近祖先的实现
  10. opencv打开的图片应用于nn.Conv2d()(二)