数据分析基本概念
1 Anaconda
Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas、matplotlib等。
Conda是一个开源的包、环境管理器(相当于centos里面的yum),可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。
虚拟环境管理
- 创建虚拟环境
conda create -n 虚拟环境名称 python=版本号
- 删除虚拟环境
conda remove -n 虚拟环境名称 --all
- 激活(进入)虚拟环境
activate 虚拟环境名称
windows环境source activate 虚拟环境名称
Linux环境 - 离开虚拟环境
deactivate 虚拟环境名称
windows环境source deactivate
Linux环境
说明:
- 当创建虚拟环境后,就会在Anaconda安装目录下的envs目录下,创建虚拟环境相关的文件。
- 在Linux环境下,需要使用source,Windows需要省去source。
- 创建虚拟环境后,虚拟环境中仅会安装一些必须的软件包,例如pip等。如果需要安装Anaconda所有的库,需要:
conda create -n 虚拟环境名称 python=版本号 anaconda
包管理
- 安装包
conda install 包
- 卸载包
conda remove 包
- 更新包
conda update 包
- 查看包
conda list
Anaconda Navigator
Anaconda Navigator是Anaconda提供的一款图形化界面工具,我们可以方便的实现虚拟环境以及软件包的管理。
Spyder
类似于Matlib的一款集成开发工具。提供代码的编写,变量的展示与查看,代码调试等丰富的功能。
2 Jupyter notebook
Jupyter notebook是一款开源的Web应用程序,该应用程序可以用来创建并共享实施代码,方程式,可视化以及文本说明。Jupyter notebook基于IPython解释器,是一个基于Web的交互式计算环境。从不正规的角度讲,可以将Jupyter notebook看成是一个Web版的IPython,实际上,jupyter notebook之前的名称就叫做IPython notebook。
启动Jupyter
启动jupyter可以使用命令:
jupyter notebook
即可。当执行命令后,就会启动jupyter服务,同时打开浏览器页面,显示jupyter的home页面。默认情况下,会使用当前所在的目录作为根目录。
上传与新建文件
- 如果我们需要打开的文件不在当前的主目录下,我们可以点击upload进行上传。
- 我们也可以点击new新建文件或目录。
修改默认的主目录
home页面会显示在当前主目录下的文件以及路径(文件夹),我们可以直接打开查看文件或进入目录。如果我们需要打开的文件不在根目录下,但又不想上传,我们可以修改启动jupyter后默认的主目录:
- 切换到指定目录后,启动jupyter服务。
- 在启动jupyter服务时,同时使用--notebook-dir=主目录。
单元格
jupyter notebook文档由一些列单元格组成,我们可以在单元格中输入相关的代码或者说明文字。单元格我们用的主要有以下二种类型:
- code 代码单元格,用来编写程序。
- Markdown 支持Markdown语法的单元格,用来编写描述程序的文字。
命令模式与编辑模式
此外,jupyter notebook的单元格分为两种模式:
- 命令模式 单元格处于选中状态,此时单元格左侧为粗蓝色线条,其余为细灰色线条。
- 编辑模式 单元格处于编辑状态,此时单元格左侧为粗绿色线条,其余为细绿色线条。
常用快捷键
jupyter notebook常用的快捷键如下:
命令模式
- Y 单元格转换成code类型。
- M 单元格转换成Markdown类型。
- R 单元格转换成Raw NBConvert类型。
- Enter 进入编辑模式。
- A 在当前单元格上方插入新单元格。
- B 在当前单元格下方插入新单元格。
- C 复制当前单元格。
- D(两次) 删除当前单元格。
- V 粘贴到当前单元格的下方。
- Shift + V 粘贴到当前单元格的上方。
- Z 撤销删除。
编辑模式
- Tab 代码补全
- Shift + Tab 显示doc文档信息。
- Esc 进入命令模式。
通用模式
- Ctrl + Enter 运行单元格,然后该单元格处于命令模式。
- Shift + Enter 运行单元格,并切换到下一个单元格,如果下方没有单元格,则会新建一个单元格。
- Alt + Enter 运行单元格,并在下方新增一个单元格。
print("hello world")
print("再执行下一个单元格")
Markdown
Markdown是一种使用纯文本格式语法的轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。Markdown同时也支持HTML标签。在Markdown类型的单元格中,支持使用Markdown语法与LaTex数学公式。
标题
标题可以使用1 ~ 6个#
跟随一个空格来表示1 ~ 6级标题。
无序列表
无序列表可以使用*
,-
或+
后跟随一个空格来表示。也可以通过不同的符号混合表示多级列表。
有序列表
有序列表使用数字跟随一个点(.)表示。
一级标题 1~6个#号,表示1~6级标题。
你喜欢的语言是:
- 英语
- 3214
- 421412
- 3214
- 法语
- 汉语
课堂要求:
- 不迟到
- 不早退
- 不睡觉
换行
使用两个或以上的空白符。
粗体 / 斜体
使用**
或__
包围的字体为粗体。使用*
或_
包围的字体为斜体。
思考:怎么表示粗斜体?
删除线
使用~~
包围的字体会带有删除线效果。
代码
可以使用`代码`来标记代码部分。
使用```(或Tab缩进)来标记代码块。在```后面加上相应的语言,可以使代码的关键字高亮显示。
写入一行内容。
换一行显示。
粗体
粗体
斜体
斜体
粗斜体
粗斜体
删除线
print("hello world")
print("123123")
print("34324")
引用
使用>
前缀来引用一段内容。
分割线
使用***
或者---
来加入分割线。
链接与图片
图片:![图像说明](图片链接地址 "图片说明信息")
链接:[文字](链接地址)
LaTex
LaTex是一个文件准备系统(document preparation system),用来进行排版,支持复杂的数学公式表示。LaTex公式使用$ //公式 $
或$$ //公式 $$
进行界定。 在Markdown类型的单元格中,支持LaTex数学公式。
LaTex在线编辑:http://latex.codecogs.com/eqneditor/editor.php
3 数据分析
数据分析,是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息、形成结论而对数据加以详细研究和概括总结的过程。
数据分析的终极目的就是为了解决一个问题,或者为一个决策提供依据
数据分析是一门交叉学科,你可以使用excel完成一份最基础的数据报告,你也可以使用python 进行深入挖掘