Python
2022-04-01 18:05:59 82 举报
AI智能生成
Python基础知识+爬虫+数据分析+金融量化分析
作者其他创作
大纲/内容
python基础知识
python简介
特点
解释型编译器原理
编译器pycharm下载安装教程
汉化操作
1.File->setting
2.plugin->搜索->chinese
破解版操作
1.先在插件里添加安装包->点击确定后重启
解压激活码安装包
2.点击帮助->注册->将激活码复制上去就好了
3.不懂得点击链接看视频
基础规则
行和缩进
用缩进来写模块,最好为4个空格
冒号与代码缩进形式定义语句块,而非{}
多行语句
使用斜杠(\)将一行的语句分为多行显示
语句中包含[],{}或()括号就不需要使用多行连接符
引号
单引号
主要表示字符串,引号的开始与结束必须是相同类型的
双引号
可以使用单引号包裹双引号,也可以相反,但不能直接用单引号包裹单引号,或双引号包裹双引号,斜杠\加单引号或双引号直接输出引号,不影响其他
三引号
三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释
换行
换行(\n)是标准的行分隔符(通常一个语句一行)
注释
每一行#后面的行将不被运行,被视为注释
多行注释可以使用三个单引号或三个双引号包裹注释内容
空行
空行并不是Python语法的一部分,书写时不插入空行,Python解释器运行也不会出错
空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
同一行显示多条语句
虽然可以分号分开多个语句在同一行连续运行,但不推荐这种写法,例如:print(1);print(2)
输出
使用print('a','b')输连续多个字符串
使用a=100;print('A%d'%a)输出数字变量,得到A100输出
使用b='XX';print('B%s'%b)输出字符串变量,得到BXX输出
代码规则
同样缩进的连续代码被视为一个代码块,具有同样的语义范围
变量
定义
案例
变量类型
问题描述
具体使用
不同类型之间的计算
变量的输入
演例
变量的格式化输出
基本练习
具体实现
变量命名规则
标识符
关键字
不能使用python保留字,使用特殊用途的单词(关键词、函数名)
建议
使用小写字母
使用简短又具有描述性的定义
小写字母l,易和数字1混淆
大写字母O,易和数字0混淆
变量赋值
赋值符是一个等于符号(=),注意不是两个(==)
多重赋值
cat=['fat','black','loud'] size,color,disposition=cat
多元赋值
a,b=b,a 变量变换
x,y,z=1,2,'a'
运行Python
两种模式
脚本式编程
一次性执行
源代码脚本
交互式编程
逐行输入
再执行
运行脚本
命令行/终端模式
python*.py
Linux下可执行脚本
首行添加
#!/usr/local/bin/python
#!/usr/bin/env/python
赋予权限
chomd 755 *.py
运行脚本
*.py
IPython
%run *.py
条件|循环
if条件判断
应用场景
案例
逻辑运算演练
答案
if语句进阶
elif
案例
if嵌套
综合应用
基础代码实现
random函数的使用
运算符
算术运算符
比较运算符
逻辑运算符
赋值运算符
优先级
python循环
程序的三大流程
while循环
第一个循环
Python中的计数方法
循环计算
进阶循环
while循环嵌套
使用循环打印小星星
实现
九九九乘法表
实现
break和continue
break
continue
高级变量类型
列表
定义
常用操作
循环取值
元组
定义
常见操作
遍历循环
应用场景
字典
定义
常见操作
循环遍历
应用场景
字符串
定义
常用操作
字符串的方法
大小写相关操作
查找操作
性质判断
格式化字符串
操作
基本操作
修剪操作
替换操作
拆分操作
编码/解码操作
集合
定义
创建集合
运算
成员运算
交并差运算
比较运算
集合的方法
不可变集合
函数
定义
调用
单步调试
错误执行
函数参数
使用及作用
返回值
函数的注释
函数的嵌套调用
使用模块中的函数
python面向对象编程
类和对象
简单了解
注意的地方
调用类中的方法必须先实例化
初始化方法
打印对象
可见性和属性装饰器
私有属性
可见性
属性装饰器
静态方法和类方法
调用
区别
动态属性
三大特性
封装
继承
单继承
语法和传递性
方法的重写
重写父类方法
拓展父类方法
super().父类方法
父类名.方法(self)
父类的私有属性和私有方法
使用父类中的公有方法访问私有属性和私有方法
多继承
使用注意事项
MRO
新式类和经典类
多态
案例演示
实例
结论
类对象
Windows中Pycharm快捷键使用
快速注释
Ctrl+/
自动缩进
Tab
python爬虫基础知识点
简介
基本流程
获取网页
打开网页后右键选择网页源代码
提取信息
保存数据
案例获取网页信息
HTTP和控制面板简介
HTTP请求过程
控制面板组成
开发者模式控制面板
爬虫请求介绍
请求方法
请求的网址
请求头
请求体
爬虫响应
常见错误
响应头
响应体
requests库
GET方法
POST方法
添加头部信息
Xpath安装与使用
使用
安装
八爪鱼数据采集器
模板采集
自定义采集
图片信息采集
数据转excel表格
实操案例
下载网页VIP音乐
1.登录网易云音乐网页并找到相应歌曲
2.Fn+F12或F12打开开发者工具
3.点击网络、媒体
4.点击播放音乐,收到传到网络上的音频文件.m4a
5.双击两下文件下载
截获原理
批量下载网页图片
python数据分析
定义
数据分析实现流程
开发环境搭建
Anacinda安装
jupter notebook安装使用
jupyter连接不到kernel的情况
jupter notebook进入方式
CMD->jupyter notebook->复制链接到网页打开
快捷键
插件下载
pandas
基本操作
加载相关包
转换成二维表格
数据提取->含有Python字符
修改列的名称
每种编程语言出现的次数和缺失值填充
去除重复值
平均值、生成csv文件、数据的形状
两列交换
获取最大值所在的行
pandas使用流程
生成数据表
数据表信息查看
数据表清洗
数据表合并
数据提取
数据筛选
数据汇总
数据统计
数据输出
apply函数的使用
pandas时间处理
pandas时间索引和重采样
pandas用法总结
机器学习之pandas
pandas两个常用的类
Series
创建
显示索引
索引和切片
常见属性
常用方法
头尾、去重
判空
DataFrame
创建
numpy和字典创建
属性
练习
索引和切片操作
索引操作
取行列
取元素
切片操作
切行列
总结
练习问题
平均值
加分
转换时间序列类型
作为源数据的行索引
级联操作
匹配级联
不匹配级联
内连接
外连接
append
合并操作
一对一合并
一对多合并
多对多合并
key的规范化
当列冲突时,即有多个列名称相同时,需要使用on=来指定哪一个列作为key,配合suffixes指定冲突列名
当两种表没有连接的列时,可使用left_on和right_on手动指定merge中左右的哪一列作为连接的列
练习:人口项目分析
需求
导入文件,查看原始数据
数据合并
将数据重复的数据删除
查看存在缺失数据的列
找到NaN,进行去重
补上正确的值
合并各州面积并排序找出人口密度最高的州
练习:股票分析
要求
股票数据预处理
获取历史行情数据
将互联网上获取的股票数据存储到本地
对数据进行处理
捕获股票上涨的日期
捕获股票跌幅的日期
收益计算
分析
买入、卖出
总收益
练习:双均线策略制定
需求
获取股票历史数据
均线计算
可视化
金叉死叉概念
求金叉日期和死叉日期
测试
作金叉死叉标识
买入、卖出
总收益
缺失值的清洗
处理缺失值
空值与NAN浮点型区别
处理空值操作
伪造一组数据
方式1:对空值进行过滤
isnull()
notnull()
方式2:dropna
方式3:填充
面试题
读取
将空值对应的数据删除
填充空值
处理重复数据
使用drop_duplicate
处理异常数据
pandas高级操作
替换操作
映射操作
映射关系表
map
排序实现的随机抽样
分组聚合
数据的分类处理
查看详细的分组情况
平均重量汇总到源数据
高级数据聚合
透视表和交叉表
读取数据库
透视表
pivot_table(index,value,columns,aggfunc)
交叉表
crosstab(df.age,df.sex)
项目:美国大选政治献金
需求
总览数据
用统计学指标快速描述数值型属性的概要
异常值处理
新建一个party,统计个元素出现次数
查看各党派收到的政治献金总数
查看老兵主要支持谁
numpy
numpy的创建
使用array()创建一维或多维数组
数组和列表的区别是什么?
将外部的一张图片读取加载到numpy数组中
尝试改变数组元素的数值查看对原始图片的影响
其他方式
zero()和ones()
linespace()和arrange()
random系列
numpy的常用属性
shape
ndim
size
dtype
修改数组元素类型
numpy总结
numpy索引和切片操作
索引操作
切片操作
切出前两行(列)数据
行(列)、所有元素倒置
练习
将一张图片进行左右翻转
上下翻转
图片裁剪
numpy变形操作
numpy级联操作
图片级联
numpy常用聚合操作
numpy常用的数学函数
numpy常用的统计函数
numpy矩阵相关
单位矩阵
矩阵相乘
数据可视化
matplotlib可视化基本使用
5个强大小技巧
进阶
绘图操作
线性图:plt.plot()
单条线形图
多条线形图
设置坐标比例
设置图例
设置轴的标识
图例的保存
柱状图:plt.bar()
直方图:plt.hist()
饼图:pie()
散点图:scatter()
离散可视化-seaborn
jupyter notebook实战
交互式可视化-plotly
web-pyecharts
Bokeh
地理信息可视化
项目
商业数据指标分析-可视化
电商-用户行为分析可视化
1.数据预处理
数据加载
观察数据
将order_dt转换成时间类型
查看数据的统计描述
添加月份
2.按月数据分析
统计每月的消费人数
3.用户个体消费数据分析
用户消费金额和产品数量的散点图
各个用户消费总金额的直方分布图
各个用户消费总数量的直方分布图
4.用户消费行为分析
用户第一次消费的月份分布和人数统计
用户最后一次消费的时间分布和人数统计
新老用户占比
用户分层
分析得出每个用户的总购买量和总消费金额and最近一次消费的时间的表格rfm
根据价值分层
5.用户的生命周期
统计每个用户每个月的消费次数
判断本月是否消费
固定算法
每月不同活跃用户的计数
金融-股票趋势分布可视化
python金融量化投资分析与股票交易
知识拓展
网络概述
C/S架构
优缺点
B/S架构
优缺点
OSI七层模型与TCP/IP协议
IP
公网/内网
端口
socket套接字
UDP套接字
UDP服务端
UDP客户端
UDP循环发送
服务端
客户端
UDP与TCP的特性
UDP特性
TCP特性
TCP套接字细节
TCP编程流程
TCP_server
循环接收
TCP_client
循环发送
监听器listen原理
文件传输服务端
文件传输客户端
三次握手
四次挥手
粘包原因
127.0.0.1等区别
多任务编程
定义
计算机任务执行
并发与并行
进程
代码思路
代码
函数传参
位置传参
关键字传参
属性
多子进程
网页设计
基础
HTML
CSS
JAVAscript
可视化图表
echarts
地理/分布图
K线图
动态图表制作
flask框架
ajax数据的传递
前后端数据动态传递
收藏
0 条评论
下一页