python数据分析要学多久_如何七周成为数据分析师18:Python的新手教程
本文是《如何七周成为数据分析师》的第十八篇教程,如果想要了解写作初衷,可以先行阅读七周指南。温馨提示:如果您已经熟悉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的新手教程相关推荐
- python怎么用大数据分析师_如何七周成为数据分析师18:Python的新手教程
本文是<怎样 七周成为数据剖析 师>的第十八篇教程,假定 想要了解 写作初衷,能够 先行阅读七周指南.温馨提示:假定 您曾经 熟习 Python,大可不用 再看这篇文章,或只选择 部分 . ...
- 如何成为python 数据分析师_如何七周成为数据分析师20:了解和掌握Python的函数...
本文是<如何七周成为数据分析师>的第二十教程,如果想要了解写作初衷,可以先行阅读七周指南.温馨提示:如果您已经熟悉Python,大可不必再看这篇文章,或只挑选部分. Python之所以灵活 ...
- (秦路)七周成为数据分析师(第一周)—— 数据分析思维
文章目录 1. 什么是数据分析 2.应该怎么学 3. 数据分析思维 3.1 三种核心思维 3.1.1 结构化 3.1.2 公式化 3.1.3 业务化 3.2 数据分析的思维技巧 3.3 数据分析思维九 ...
- (秦路)七周成为数据分析师(第七周)——Python
文章目录 1.Python基础 2.Pandas 2.1 series 生成 用索引读取相应的行 2.2 DataFrame 生成 查看形状 查看属性和信息 查看数据类型 查看某列有多少种元素 查看某 ...
- 转:《七周成为数据分析师》总结
本文转自: https://blog.csdn.net/weixin_39722361/article/details/79522111 个人公众号:数据路 知乎:无小意. 百日计划第一周总结 1. ...
- 天善磨剑之作,七周成为数据分析师秦路主讲
章节1: 如何七周成为数据分析师 课时1:为什么需要七周 课时2:七周应该怎么学 章节2: 第一周:数据分析思维 课时3:为什么思维重要 课时4:数据分析的三种核心思维(结构化) ...
- [学习笔记]B站视频:磨剑之作,七周成“师”!【七周成为数据分析师】- 第一周
[学习笔记]B站学习视频:七周成为数据分析师-第一周 序 数据思维 结构化 公式化 业务化 数据分析的思维技巧 象限法 多维法 假设法 指数法 二八法 对比法 漏斗法 如何在业务时间锻炼数据分析思维 ...
- 七周成为数据分析师 第二周:业务篇-框架与模型
七周成为数据分析师 第七周:Python - CSDN博客 七周成为数据分析师 第六周:统计学 - CSDN博客 七周成为数据分析师 第五周:Mysql - CSDN博客 七周成为数据分析师 第四周: ...
- 七周成为数据分析师 第二周:业务篇-指标
七周成为数据分析师 第七周:Python - CSDN博客 七周成为数据分析师 第六周:统计学 - CSDN博客 七周成为数据分析师 第五周:Mysql - CSDN博客 七周成为数据分析师 第四周: ...
最新文章
- 经典!工业界深度推荐系统与CTR预估必读的论文汇总
- 华人科学家,Yang-Kieffer算法之父杨恩辉斩获Eric E.Summer奖
- Android开发--FileInputStream/OutStream/Sdcard写入
- c#读取xml中特定节点的值(实例)
- ZoomIt – 屏幕标注、电子画笔 [小工具]
- WebSocket协议探究(序章)
- 客户的一个紧急bug,我用了两种方式进行 C# 反编译修改源码
- 【Django】数据库主从配置
- Android studio下载安装使用遇到的问题及解决办法
- java c3p0 存储过程_JAVA Spring 连接池 调用 Oracle 存储过程的问题?
- feign传递数组_feign中传递自定义MultipartFile
- [转载] Python 学习 - Numpy
- [编写高质量代码:改善java程序的151个建议]建议43 避免对象浅拷贝; 建议44:推荐使用序列化实现对象的深拷贝...
- svchost 100%怎么办==》win
- 字节跳动斥巨资开发出《Python知识手册》
- 利用Procexp工具监控Windows平台上的Oracle数据库性能
- 多年 iOS 开发经验总结
- IDA的新手入门指南
- LM393实现简易PWM调压电路
- html 广告弹窗代码,广告弹窗.html
热门文章
- JS实现:鼠标悬停图片,图片由彩色变为灰色
- 支持向量机(SVM)-文本分类 (1)
- HDU2216:Game III(BFS)
- SQL SERVER 2008筛选时报错 无法为该请求检索数据
- 2013年测试工作总结
- ES6新特性_ES6语法糖-class中的getter和setter设置---JavaScript_ECMAScript_ES6-ES11新特性工作笔记038
- 通过二进制方式_部署CNI网络和集群测试---K8S_Google工作笔记0015
- SpringCloud学习笔记010---杂七杂八004:Spring中Bean及@Bean的理解
- 二叉树前序中序,后序中序,公共最近祖先的实现
- opencv打开的图片应用于nn.Conv2d()(二)