一、jupyter notebook启动
1. 数据分析传统与进阶的区别
- 传统数据分析工具:
1. SPSS
2. EXCEL
3. POWERBI
- 进阶数据分析:Python处理数据功能
1. 数据处理(python处理数据功能)coding
2. 富文本编辑
3. 可视化支持
4. 更侧重业务逻辑性
5. 不像django flask application game 需要复杂的编译器 (需要多模块的关系、继承多态,如scrapy)
6. 基础阶段:pycharm 进阶:jupyter notebook【推荐】【轻量级】
2. jupyter notebook简介
1. 满足Python数据分析的需求
2. UI界面都没有的一个轻量级的文本集编译器
3. 借用我们pc里面自带的浏览器外壳【默认的浏览器外壳】
4. 将chrome设置为默认浏览器:设置 -> 默认应用 -> web浏览器 -> 选择应用
5. 打开方式:
- 1. 启动Anaconda,在主页面选择jupyter【电脑系统的根路径 】
- 注意以下几点:
打开地址为当前bash的目录,默认的根目录
浏览器地址为http://localhost:8888/
通过control -C终止jupyter程序
- 2. 在目标目录输入cmd,在命令提示符输入 jupyter notebook【推荐,可以直达目标路径】
- 终端窗口不可关闭,维护该进程
二、 初识单元格Cell
1. 状态选择
1. 状态:- 选中状态 单元格左侧变成蓝色 此时可以对单元格本身进行操作- 编辑状态 单元格左侧变成绿色 有光标在单元格内部闪动 对单元格内部文本进行操作2. 切换: - 选中 --> 编辑 1.回车 2.鼠标点击单元格内部 【ESC + Y + enter:命令行】- 编辑 --> 选中 1.ESC 2.鼠标点击单元格左侧外部 【ESC + M + enter:Markdown】
2. 快捷切换单元格格式
cell 是最基本的一个代码块单元
- Code 代码模式 写python代码
- Markdown 文本模式 支持Markdown语法切换模式:
1. 选中状态下才能切换模式: y切换到Code m切换到Markdown
2. 鼠标在上方的下拉列表内手动选择
2.1 Code模式
2.2 MarkDown模式
3. 单元格操作
3.1 增删改查
前提: 单元格处于选中状态
1. 新增cell
a在选中单元格的上方插入一个新cell
b在选中单元格下方插入一个新cell
2. 删除cell
dd删除选中cell x剪切cell
3. 复制cell
c复制选中cell
4. 粘贴
v粘贴已复制的cell到选中cell的正下方
5. 撤销单元格操作
z撤销
4. 运行
4.1 模式对应状态
1. Markdown模式运行是进入预览状态
2. Code模式运行是运行代码
3. Raw NBConvert 是默认文本状态
-
第一个单元格为
Markdown
, 第二个为Raw NBConvert
4.2 运行方式
1. Ctrl + Enter 运行选中单元格,然后继续选中当前单元格
2. Shift + Enter 运行选中单元格,并且在其下方选中(新增【下方没有单元格额外的单元格时】)一个单元格
3. Alt + Enter 运行选中单元格, 并且在其下方新增一个单元格
5. 帮助文档
1. help(要查询的对象)
2. 要查询的对象?
3. Shift+tab
6. 魔法指令
6.1 %run
-
运行外部.py文件
% run tool.py # 注意,该tool.py 是在打开jupyter的当前目录下
6.2 %time和%%time 运行记时
- %time 记录一行的运行时间
- %%time 记录多行的运行时间
-
案例
def add(number):res = 0for i in range(number):res = res + ireturn res
运行结果
6.3 %timeit和%%timeit 多次运行取平均值
- %timeit 记录一行的运行时间
- %%timeit 记录多行的运行时间
-
案例
def add(number):res = 0for i in range(number):res = res + ireturn res
运行结果
总结:每次运行做了10次循环,这是一种统计学思想,如In [32]
耗时为 56.5ms +- 2.25ms
- 具体解释
56.5 ms:每次循环的平均时间,表示计算或代码执行的速度。
± 2.25 ms:表示这一平均值的标准差,反映了测量结果的波动范围。标准差越小,说明测量结果越集中,波动越小。
per loop:指每个循环的时间。
(mean ± std. dev. of 7 runs, 10 loops each):表示这个平均时间和标准差是通过进行7次测试,每次测试运行10个循环后得出的数据。
6.4 %who %whos
-
%who获取所有前面定义的变量
-
%whos获取所有前面定义的变量【详细】
7. IPython输入输出历史
-
可使用In/Out调用输入输出历史
- 关于IPython
1. IPython 基于python内核 做了数学运算上的优化[索引使得代码可以不从上到下运行]
2. IPython的Output 帮我们把最后一行的代码进行输出(不适用print的情况)
-
IPython特性
In返回一个字符串列表,里面是所有输入命令的字符串
Out返回一个含有输出的命令的序号及其输出组成的字典
两者皆可以通过索引获取元素