课程安排
整体课程分为三个阶段,上课时间是15周
课程是python数据分析
数据分析 = 数据分析思维【理论知识】+数据分析工具【实践工具】
数据分析思维常见的有 对比法、拆分法、象限法等等
数据分析工具常见的有Excel/数据库【数仓】/BI/Python
三个阶段课程内容设定:
第一阶段:Python语法阶段+数据采集【爬虫】 4周
第二阶段:商业数据分析 数据分析思维【理论知识】+数据分析工具【实践工具】 6周
第三阶段:机器学习【各种算法的理论知识+Python相关的代码】 5周
Python的基本语法
1.计算机相关的名词知识点
1.1计算机的组成
根据计算机之父冯.诺依曼
,根据冯.诺依曼结构体系,计算机分为5部分
1.输入设备
把信息传入到计算机中,比如键盘,鼠标
2.输出设备
信息从计算机传输出来,比如音响,显示器,打印机等等
3.存储器
计算基被发明出来就是用于数据的存储和计算的额
计算机上有两个存储数据的设备:内存,硬盘
硬盘:电脑上的磁盘分区,存储再硬盘中的数据都是持久化春初【只要不删除
就一直存在】
内存:内存是用来存储计算机上应用运行产生的数据,当程序退出的时候
,该程序存储内存中的数据就会被释放
内存在之后的知识中会有提及【编写的Python成熟产生的数据存储于内存中的】
4.运算器
调度存储器中的数据参与相应的运算【基本运算有加减乘除等等】
5.控制器
控制器和运算器结合再一起成为中央控制器【CPU
】,相当于人的大脑,调度计算 机各个部分的运转
1.2命令行交互的一些指令
讲解的是人与应用程序交互的模式,这个模式有常见的来那个黄总
-
图形化界面
接触起来是比较简单的,按照的操作描述很快上手进行操作
-
命令行指令
之后可能会接触一些文件操作相关的指令,来介绍一些常用的指令,这个指令再windows系统中称为DOS命令,再MAC或者Linux系统中称为Shell命令
这个指令是需要再终端运 行,这个工具在Mac上称为终端,再windows称为命令提示符工具
启动工具的方式
1.windows下可以使用快捷妨害
win+r
调出搜索器,输入cmd回车进行启动2.mac再启动台上找到其他–终端
工具启动完成,默认打开的是当前用户的路径
mac和windows的目录结构不一样
windows是分磁盘的,分为C盘,D盘,但是mac下没有分盘,所有的路径延伸都是从根目录/来的,mac的同学 可以再终端上书写指令
open/
打开根目录
常用的一些指令:
只要是来接触目录的跳转的
1. 显示当前目录下的子文件 windows:dir mac:ls 显示隐藏的文件的话 windows:dir /a mac ls -la 2. 路径的切换 使用的指令是 cd 文件的路径 文件的路径分为两种,分别是相对路径和绝对路径 绝对路径:windows的话 从盘符开始到指定文件夹的路径 比如D:\Ssssstudy 相对路径:参照物的,参照物就是当前的文件夹 有两个符号需要大家记住,分别是.和.. .当前文件夹 ..上一级文件夹 相对路径需要根据需求 从当前文件夹使用.或者..定位相应的位置 再去定位想要的路径 定位到公共用户 绝对路径 : cd D:\Ssssstudy 相对路径: cd ..D:\Ssssstudy widows下面可能涉及到盘符的切换,路径盘符与当前位置不一样,需要先切换盘符,格式就是 盘符 : 回车即可
1.3计算机中数据存储
生活中的计算数据的时候是按照十进制规则来进行计算的
十进制的规则是逢十进一
,十进制的数字符号是由0/1/2/3/4/5/6/7/8/9
组合成的
计算机中数据存储运算的时候,不是采用的十进制,而是二进制,这个二进制就是逢二进一
,二进制的数字符号只有0和1
常见的进制形式:二进制/八进制/十进制/十六进制、
二进制(0b
– binary):符号集只有0和1,0b10
代表的是数字2
八进制(0o
— octal):符号集是有0/1/2/3/4/5/6/7,0o10
代表的是数字8
十进制:符号集是0-9,10
代表就是数字10
十六进制(0x
– hexadecimal):逢十六进一
就意味着没有遇到十六不会出现两位数,0x10
代表的数字是16,符号集0/1/2/3/4/5/6/7/8/9/a/b/c/d/e/f
在十六进制中字母a-f
表达10-15的数字【字母大小写都是可以的】
八进制和十六进制出现的原因是因为二进制表达数据可读性 差,组合会过于长
因此就出现了八进制和十六进制,简化二进制的表达格式
进制转换
-
十进制准换位二进制的规则
整数部分的规则: 讲数据除以2取余数,重读这个操作,直到商为0,将所有的余数逆向拼接 ,结果就是二进制数据 比如: 24 24/2=12 --- 0 12/2=6 ---- 0 6/2=3 ----- 0 3/2=1 ----- 1 1/2=0 ----- 1 小数部分的规则: 将数据乘以2取整数部分,再将积的小数部分乘以2取整数部分 重复此操作 直到小数部分为0,将整数部分正序拼接在一起 比如: 0.125 = 0b.001 0.125 * 2 = 0.25 --- 0 0.25 * 2 = 0.5 ----- 0 0.5 * 2 = 1.0 ------ 1 如果数据是 24.125 ====》 0b11000.001
练习:
29=0b11101 58=0b111010 75.25=0b1001011.01
-
二进制转十进制
规则:按权展开求和 以十进制为例,讲解这个按权展开 比如 5436 = 5 * 1000 + 4 * 100 + 3 * 10 + 6 * 1 1000/100/10/1都是基于本进制对应位置上的权值 = 5 * 10^3 + 4 * 10^2 + 3 * 10^1 + 6 * 10^0 每位上的权值 = 进制^(位数-1) 按照上面的规则,二进制上每位的权值 = 2^(位数-1) 比如 0b1101 = 1*2^0 + 0* 2^1 + 1*2^2 + 1 * 2^3 = 1+ 0 +4 +8 = 13 二进制比较特殊,特殊的就是符号集只有1和0,0乘以任何数都是0,1乘以任何数都是任何数本身 可以假设所有位置上都是1 二进制数据每位的权值从右到左的结果为 1 2 4 8 16 32 64 128 256 512 1024 .... 讲解另外一个规则: 将数据减去离其最近且小于他的2幂数,将差值继续该操作 直到值为0,统计2的幂数有哪些,然后按照从右向左的位置,有该幂数的则该位置为1,否则对应位置为0 比如: 79 = 0b1001111 79 - 64 =15 15 -8 = 7 7 - 4 = 3 3 - 2 = 1 1 - 1 = 0
练习
0b10111=23 1*2^0 + 1 * 2^1 + 1*2^2 + 0 * 2^3 + 1 * 2^4 =1+2+4+0+16 23 0b10010=18 0b11100=28 0b10110=22
-
八进制和二进制之间的互换
二进制转八进制规则: 八进制的最大数字是7,7转化二进制需要3位,为0b111 最大的数字需要三位,其他数字三位足以满足要求 规则:将二进制数据从右往左3位3位一分,左边不足3位前面补0,讲分出来的每一份按权展开求和,将和从左向右拼接在一起就是八进制 比如 0b1100111011 0b001 100 111 011 1 4 7 3 =====》 0o1473 八进制转二进制规则: 三位的幂值 4 2 1 将每位数转化为三位二进制数,将结果拼接在一起即可 比如0o2574 2 -- 0b010 5 -- 0b101 7 -- 0b111 4 -- 0b100 ===》 0b101101111100
-
十六进制和二进制之间的互换
二进制转十六进制规则: 十六进制的最大数字是f(15),15转化二进制需要4位,为0b1111 最大的数字需要四位,其他数字四位足以满足要求 规则:将二进制数据从右往左4位4位一分,左边不足4位前面补0,讲分出来的每一份按权展开求和,将和从左向右拼接在一起就是十六进制 比如 0b1100111011 0b0011 0011 1011 0b001 100 111 011 1 4 7 3 =====》 0o1473 十六进制转二进制规则: 四位二进制数 8 4 2 1 将每位数转化为四位二进制数,将结果拼接在一起即可 比如0x9ab3 9 -- 0b1001 a -- 0b1010 b -- 0b1110 3 -- 0b0011 ===》 0b1001101011100011
练习
八进制转二进制 0o756 0o354 十六进制转二进制 0xaf39 0xbcd7
备注八进制或者十六进制转化十进制,规则也是按权展开求和,八进制和十六进制之间的转换需要以二进制为桥梁进行操作【先转二进制,再做转换】
八进制转十进制 0o12 = 2*8^0 + 1*8^1 + 1*8^2 = 2 + 8 + 64 = 74 十进制转八进制 数据除以8取余数,再用商除以8取余数直到商为0 将余数逆向拼接 78 = 0o116 78 / 8 = 9 ---6 9 / 8 = 1 --- 1 1 / 8 = 0 --- 1 十六进制转十进制 0xff = 15*16^0 + 15 *16^1 = 15 +240 =255 十进制转十六进制 数据除以16取余数,再用商除以16取余数直到商为0 将余数逆向拼接 255 = 0xff 255/16 = 15 ---15 15 / 16 = 0 --- 15 八进制和十六进制之间的转换 0xff === 0o377 0xff = 0b011 111 111 =0o377
-
-
-
1.4编码和解码
计算机中数据的存储格式是二进制格式的,计算机呗研发出来的作用就是来存储和计算的。
常见的一些数据存储于计算机中是如何存储的,这个规则称之为编码
常见的一些数据【数字、文字、图片、音视频等等】如何存储于计算机中的???
进制转换中的数字可以通过规则转换成二进制进行存储,比如10可以转换成0b1010
,但是文字[汉字、英文字母或者各国语言]这些如何存储
因为数字可以直接存储,指定存储规则的逻辑将每个文字都映射一个数字
将数字转换为二进制数据进行存储,这种规则称为编码
常见的编码方式有
-
ASCll码【美国信息交换标准代码】只有128个文字符号
需要记住的就是 字符0-9 小写英文字母a-z 大写英文字母 A-Z
字符0对应的十进制数据是48
字符a对应的十进制数据是97
字符A对应的十进制数据是65
-
GB2312
/GBK
国家编码标准,简称国标,兼容ASCII码
-
Unicode
国家标码标准,收录的世界语言在内,兼容ASCII码
Unicode下又分为很多种,常见的是其中的
UTF-8
Python采用的数据编码方式就是
UTF-8
不同的编码的存储区别:
- ASCII属于单字节编码方式,里面的规定字符,再内存中存储的时候开辟的一个字节进行 存储
GBK
/GB2312
存储汉字的时候规定汉字字符再内存占2个字节utf-8
存储汉字的时候 规定汉字字符再内存中占3个字节
计算机中数据的存储格式是二进制,数据再存储的时候单位有哪些
- 位(bit)二进制数据中一个0或者一个1称为1位,
0b10
这是2位- 字节(Byte) 1个字节等于8位
1B=8b
- 千字节(KB)
1KB = 1024b
- 兆字节(MB)
1GB = 1024KB
- 吉字节(GB)
1GB = 1024MB
- 太字节(TB)
1TB = 1024GB
存储的时候开辟的最小的单位就是字节
编码:把文字数据编译成计算机中存储的二进制数据的过程称为编码
解码:把计算机中存储的二进制数据解析成文字数据的过程称为解码
1.5编程语言
语言:沟通交流传递信息的方式,有效信息的传递包含三部分:传递着、接受者、共识信息【两方都能听懂表达的含义】
编程语言:人们想要和计算机打交道,并且让计算机帮我们做一些事情,主动传递着需要想计算机传递一些计算机能听懂的语言,这个语言就叫做编程语言
编程语言分为低级编程语言和高级编程语言
-
低级语言包括机器语言、汇编语言
机器语言直接通过0和1指令与计算机进行交互
汇编语言使用一些容易理解的单词来代替指令与计算机进行交互
-
高级编程语言
编译型编程语言: 写的代码计算机没有办法直接识别的,需要将程序编译成计算机能识别的文件,在对文件中的内容逐行解释给计算机,让计算机完成相应的操作 ,比如 Java
解释型编程语言:直接对程序文件逐行向计算机进行解释,完成指令操作 比如 Python
1.6 Python解释器程序的安装
Python官网www.python.org
推出自己的解释器软件,这个工具安装完成之后包含着解释器以及Python程序编写相应的一些工具库文件
Anaconda 集成环境工具,除了有Python解释器及其自带的一些Python程序编写相应的一些工具库文件之外吗,额外安装好了180多个数据科学计算包【这个工具包对于官方提供的属于第三方,要使用的时候是需要自己来进行安装的】
版本号的解读:Python 3.11.5
一般格式为A.B.C
C—程序中出现小问题,修复之后发行的版本
B—程序中增加了新的功能 发行的版本
A—程序重构 重新发行一版新的
注意:编程语言环境一般不建议使用最新的,避免有些工具库没有适配到最新的环境,这个工具库就不能使用了,建议使用稳定的环境 Python 3.8/3.9/3.10
安装成功之后,软件解读
D:\Anaconda3\python.exe
解释器,由它向计算机解释写的每行Python代码的含义D:\Anaconda3\bin
Python环境下工具库的目录【这些工具库都是原生的,可以直接使用】D:\Anaconda3\Lib\site-packages
三方工具库的目录【这些工具是需要额外安装的】D:\Anaconda3\Scripts\pip.exe
管理工具库的软件【负责下载、安装、卸载等等工具库的软件】
全局变量Path的解读
问题:为什么安装anaconda的时候要把Python解释器路径放在全局变量Path下??? 【方便再任意位置获取解释器解释Python程序】
写代码的时候代码文件可以再任意的目录下,但是python.exe
这个解释器文件想要发挥作用只能安装路径下能找到
在终端书写Python
的时候 没有限制路径,查找顺序是
- 在全局路径path下进行查找有没有文件中包含这个执行文件的,有的话直接调度运行,如果没有就进行第二步
- 查看
cmd
当前路径下有没有谱该执行文件,有的话直接调度运行,如果没有提示既不是内部命令 也不是外部命令
全局路径设置的流程:
windows的设置流程:
此电脑 - 右键 - 属性 - 高级系统设置 - 环境变量 - 用户变量 【仅针对于当前用户】/系统变量【针对于所有用户】 - PATH
检查有没有配置好这个全局路径,启动终端, 书写Pyhton
回车检查是否能够进入到Python环境下,退出环境就是exit()
C:\Users\FWL>python
Python 3.8.8 (default, Apr 13 2021, 15:08:03) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Warning:
This Python interpreter is in a conda environment, but the environment has
not been activated. Libraries may fail to load. To activate this environment
please see https://conda.io/activation
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
1.7 开发工具的安装
利用可视化工具编写代码,软件使用的是pycharm
【集成开发工具】
集成开发工具就是集编写代码、运行代码、调试代码
可用的预定义文件模板变量为:
$ {PROJECT_NAME} - 当前项目的名称。
$ {NAME} - 在文件创建过程中在“新建文件”对话框中指定的新文件的名称。
$ {USER} - 当前用户的登录名。
$ {DATE} - 当前的系统日期。
$ {TIME} - 当前系统时间。
$ {YEAR} - 今年。
$ {MONTH} - 当月。
$ {DAY} - 当月的当天。
$ {HOUR} - 目前的小时。
$ {MINUTE} - 当前分钟。
$ {PRODUCT_NAME} - 将在其中创建文件的IDE的名称。
$ {MONTH_NAME_SHORT} - 月份名称的前3个字母。 示例:1月,2月等
$ {MONTH_NAME_FULL} - 一个月的全名。 示例:1月,2月等