Live 简介:
- 谁适合本课程?
不管你是想掌握自己人生的第一门编程语言,还是以后想从事数据分析、大数据、机器学习、深度学习、人工智能相关的工作,Python都是你必不可少的工具。本课程零基础即可加入学习。 - 你将从本次课程中学到什么?(学会带着问题学习)
1)为什么要学习Python?
2)帮助你克服起步最大的困难:Python的安装和运行,跟猴子一起学习 Anaconda 和 Jupyter Notebook 的使用,为后续学习使用Python来分析数据打下基础;
3)如何开始你的第一行代码,学会基础语法,敲出属于你的 'Hello World';
4)学会Python的基本数据类型:数字、字符串,列表、元组、字典、集合;
5)使用循环批量处理数据;
6)使用条件判断处理不确定情况;
7)函数和模块及使用案例;
8)常见的数据结构:栈,队列,排序字典;
9)怎么样学编程才是有效的?如何高效地解决编程中遇到的问题?
10)你将挑战的实战项目:医院病人数据分析。 - 学完本课程预计达到的效果:学会Python基础,为后续学习数据分析、机器学习、深度学习打下基础。
内容大纲:
- 为什么要学习Python?
- 帮助你克服起步最大的困难:Python的安装和运行
- 如何开始你的第一行代码:学会基础语法
- Python的数据结构
- 条件判断和循环语句及使用案例
- 函数和模块及使用案例
- 实战项目
问题
- Python相对于Excel在处理数据方面有哪些质的飞跃?
- Excel的优势是容易上手,适合没有任何编程基础的人通过Excel可视化界面来进行一些简单的数据分析;Excel的缺点是它没有办法处理数据量很大的数据。由此可见,在当前的大数据和人工智能时代,面对大数据,只有用Python来进行数据分析。同时用编程语言来分析的话可以实现自动化从而提高效率,升职加薪!而且现实中的数据并不一定放在Excel里面,对于存放在txt文本、数据库、网络中的数据,Excel就没法处理,这时候就需要通过Python来进行复杂的数据分析。
1. 简介:如何碎片时间系统学习?
我们可以充分利用上下班途中、会议休息时间、上厕所的时间来进行碎片化的学习。我们可以在手机上安装有道云笔记,将重点知识记录下来,然后在电脑上将之前碎片学习的内容整理并敲代码来实现。
千万不要高估你1年能做成的事情,也不要低估你5年能做成的事情。提高收入的根本途径是提高自己的能力,提高能力的根本途径是在同一个方向上花时间。职业生涯中的最大错误就是没有在一个方向上进行系统学习。
2. 为什么要学习Python?
编程语言的基础知识:不管学习哪种编程语言,目的都是为了让计算机给你干活,也就是通过计算机实现你的想法和需求。编程语言就是为了让人和计算机进行交流而发明的。
随着人工智能和大数据技术的发展,Python受到了越来越多的使用和欢迎。
从上图StackOverflow的调查报告中可以看出,浏览使用最多的编程语言有4个,分别为Android、PHP、Python 和 R。横轴是人均GDP从低到高,纵轴是StackOverflow浏览编程语言的人数,橙色圆圈越大表示这个编程语言的使用人数越多。从分析结果可以看出:Android和PHP主要是低收入国家的人在使用和浏览,Python和R主要是高收入国家使用为多,中国相对于同收入的国家,使用Python的人数还是比较多的。
这说明了在高收入国家比其他国家有更多人在做科学研究,程序员的学历也更高,做数据分析、机器学习的人也更多,这也从侧面看出用Python和R的收入比使用其他语言的要高!
这份数据来自于阿里云栖社区发布的2017年中国开发者调查报告,这份报告历时三个月的调研,7320人参与了调查。中国开发者使用最多的编程语言中,排名前5的是:JavaScript、Java、SQL、PHP、Python。JavaScript 和 PHP 排名靠前与 web开发相关,Python排进前五也是情理之中的事情,因为随着大数据和人工智能的发展,Python已经成为了AI的首选编程语言,相信它的火热程度还会持续升温!
中国开发者运用最多的前5个编程语言中,多数开发者收入稳定在1万~2万人民币,但是Python的高收入人群比例明显提升,这与使用Python的人大多数都是在从事与数据分析、机器学习、人工智能相关的工作有关。
这份报告同时指出,中国开发者当中有52.7%的人群集中在web开发领域。显然在高级技术缺乏开发的大环境下,web开发领域的人才收集难度远远低于其他技术领域,被热捧的云计算、移动开发、大数据等领域都处于人才饥渴的状态。
因此,为了能够进入数据分析、机器学习、人工智能领域工作,Python是必须要学会的。从条件概率的角度来看,学会后也就有机会进入这些领域,也会相应地提高个人收入。
- 问题:该学 Python 2 还是 Python 3 ?
- Python 3 放弃了向下兼容,而且现在大量的库普遍支持Python 3 ,所以现在应该学习 Python 3 。
3. 帮助你克服起步最大的困难:Python的安装和运行
事实上,Anaconda 和 Jupyter Notebook 已经成为Python数据分析的标准环境:
- Anaconda:包管理器和环境管理器
- Jupyter Notebook:可以将数据分析需要的代码、图片、文字组合到一个web文档中,形成数据分析报告
首先,我们需要按照下面链接中的操作文档,在自己的电脑上安装Anaconda,再安装Jupyter Notebook。当你安装好这两个软件后,并在notebook中输出像下面你人生中第一行代码:print('Hello World')
,再回到这次课程中继续学习后面的知识。
如何安装和使用Anaconda?
如何安装和使用Jupyter Notebook?
PS:jupyter notebook 没有conda和nbextensions两个标签的重装软件。
先安装nb_conda命令:
conda install nb_conda
再安装nbextensions命令:
conda install -c conda-forge jupyter_contrib_nbextensions
4. 什么是数据、变量、注释?
快速学会Python的4个关键点:数据、函数、条件判断、循环
程序→大型数据加工厂
在代码中,我们用变量来存放数据,并用等号为变量赋值,变量可以存放任意的数据类型。为了方便使用变量,我们需要为变量取名。优秀的编程人员在给变量取名时,前半部分名称要能代表数据的意义,后半部分名称要能代表数据的类型。这样当我们使用变量的时候,可以很方便地通过变量名知道这个变量中存放了什么数据,而且还能根据这个变量名称知道这个变量存放的数据是什么类型。数字不能作为变量名称的开头,而且Python是大小写敏感的
5. 数据类型:字符串
6. 数据类型:数字
7. 练习:你的余额宝收益是多少?
8. 数据类型:容器
- 列表(List)
- 元组(Tuple)
- 集合(Set)
- 字典(Dictionary)
8.1 列表(List)
理解代码比死记硬背代码更重要!!!知道在哪查找答案比死记硬背更重要!!!
8.2 元组(Tuple)
元组的元素不能修改(增、删、改),所以元组只能查询
8.3 集合(Sets)
在数据分析中,集合可以用来去除重复的数据,这一点很有用
8.4 字典(Dictionary)
键必须是唯一的,这样是为了让每一个键值对映射都唯一;键也必须是不可变的,所以可以用数字、字符串和元组来充当。
9. 练习:如何用容器存放病人数据?
10. 数据类型:布尔(Bool)
主要用于条件判断中
注意:Python 严格区分大小写!!!"True"和"False"首字母需要大写!!!
11. 数据类型:空值(None)
12. 总结:数据类型
不可修改的数据类型如上图中用黄色表示,分别为:字符串、数字、元组。
13. 如何用条件判断处理不确定情况?
14. 练习:你家狗狗多少岁了?
15. 如何使用循环批量处理数据?
16. 练习:清洗GAFATA股票数据
17. 什么是函数?
18. 如何自定义函数?
19. 如何使用函数?
可以简单这么记住:
如果函数参数是数字、字符串、元组这3种不可更改的对象,参数传递时,相当于传递的是复制出来的数据,对于数据本身没有影响。
如果参数传入的数据类型是可变的类型,当函数内部修改该数据时,原始的数据也改变了。
20. 什么是变量作用域?
Python 变量的作用域一共有2种:全局作用域,局部作用域。
定义在函数内部的变量拥有一个局部作用域,定义在函数外的变量拥有全局作用域。
局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。
Q:什么是算法?
21. 练习:完成自己定义的函数
22. 什么是模块和包?
模块即分类,每个模块都有特定的功能,使用模块就不需要从零开始造轮子了,最终都是为了提高写代码和维护代码的效率。
Python 中有内置的模块,也有许多第三方的库,引入模块就可以使用模块中的函数和属性。
为了避免模块名的冲突,Python 又引入了按目录来组织模块的方法,称为包。