【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版

目录

一、安装环境

python介绍

anaconda介绍

jupyter notebook介绍

anaconda3 环境安装

解决JuPyter500:Internal Server Error问题-CSDN博客

Jupyter notebook快捷键操作大全

二、Python基础入门

数据类型与变量

数据类型

变量及赋值

布尔类型与逻辑运算

输入输出

数据结构

列表(list)

元组(tuple)

字符串(string)

集合(set)

字典(dict)

字典取值赋值

字典遍历​编辑

字典嵌套

选择语句

双分支条件语句

多分支条件语句 

循环语句

for循环

while循环 

函数

函数定义与调用

函数的不同种类的参数

函数的递归调用

Lambda表达式&列表表达式

lambda表达式​编辑

列表表达式 

Map和Filter

Iterables与Iterators

类面向对象

类的定义

类的实例(对象)

类的访问限制

类的继承

类的多态

三、基于seaborn库的数据分析

Numpy与数组(矩阵)

安装方法:

一维矩阵

多维矩阵

随机矩阵 

Pandas与数据表

DataFrame 

np.array -> dataframe 

​dicts --> dataframe

读数据head()、tail() & 取数据loc()、iloc() 

​Using loc or iloc to access the elements

​convert Dataframes into array 

​读取CSV文件&获取基本表信息

Reading CSV 

URL to CSV 

Read Json to CSV 

convert Json to csv 

convert Json to different json formats 

Reading HTML​编辑

Reading Excel 

​Reading Pickling ​编辑

MatplotLib数据分析

安装方法:

导入函数库 

​线图​编辑

分割子图 

线图绘制函数图像 

散点图

柱状图

直方图

箱线图

热力图

小提琴图

饼图

Seaborn数据分析

导入seaborn库

加载数据集

关系类图表-散点图(scatterplot)

关系类图表-折线图(lineplot) 

分类图表-分类散点图(stripplot) 

分类图表-分类箱图(boxplot) 

​分类图表-小提琴图(violinplot)

​Categorical Plots分类图

​分布图-直方图(histogram)​

分布图-核密度估计图(kde plot) 

Dist plot分布图 

Correlation with Heatmap相关性热图 

JoinPlot联合图 

​Pair plot配对图 

划分网格FacetGrid() 

Univariate,Bivariate,MultiVariate Analysis & Histograms 

​数据预处理(数据加工)

数据分析 


一、安装环境

python介绍

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第1张图片

Python具有多个优点,包括:

1. 语法简单:Python的语法设计直观且易于学习,相较于其他编程语言更为易上手。
2. 开源且免费:Python是开源的,这意味着开发者可以自由地使用和改变Python,并且不需要支付任何费用。
3. 面向对象:Python既支持面向过程编程,也支持面向对象编程,这使得它的应用范围非常广泛。
4. 良好的扩展性:Python能够很方便地与其他语言集成,因此被赞誉为“胶水语言”。
5. 丰富的库和框架:Python拥有大量的内置库和第三方库,可以帮助开发者快速实现各种功能。

然而,Python也存在一些缺点

1. 运行速度慢:由于Python是解释型语言,所以相比于编译型语言,其运行效率较低。
2. 不适合高级编程:虽然Python易于上手,但对于高度优化的程序来说,Python可能不是最佳选择。
3. 全局解释器锁(GIL):Python的解释器(CPython)存在全局解释器锁的问题,这会限制多线程的并行执行。
4. 编码规范不统一:由于Python是开源的,因此没有统一的编码规范,这可能导致代码风格混乱。

anaconda介绍

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第2张图片

 Anaconda是一个开源的Python发行版本,其特点在于专注于数据分析,包含了conda、Python以及180多个科学包及其依赖项。它主要用于处理科学计算相关的任务,如数据分析和机器学习开发等。

Anaconda的一大优势是其强大的包管理功能。利用conda,开发者可以方便地安装、切换和管理第三方包及其环境。此外,Anaconda还提供了创建、删除虚拟环境的功能,使得不同项目的运行环境得以隔离,避免了不同库之间的冲突。

然而,需要注意的是,尽管Anaconda在数据科学领域表现优秀,但对于其他Python应用场景,它可能并非最佳选择。如果你仅仅是为了学习Python或者进行一些简单的开发任务,使用基础的Python发行版可能会更加轻便灵活。

jupyter notebook介绍

 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第3张图片

Jupyter Notebook是一个开源的交互式笔记本,支持运行多种编程语言,包括但不限于Python、RJupyter Notebook是一个开源的交互式笔记本,支持运行多种编程语言,包括但不限于Python、R、Julia和Scala等。它提供了一个基于网页的用户界面,允许用户在网页页面中直接编写代码、运行代码,以及查看结果。此外,Jupyter Notebook还支持Markdown语法和LaTeX数学公式,使得用户可以方便地编写包含代码、方程式、可视化和文本的复杂文档。

Jupyter Notebook的主要特点包括:支持代码与文本的混合编辑,可以实时查看代码运行结果,以交互方式进行数据探索和可视化分析,以及支持丰富的扩展功能。这些特性使得Jupyter Notebook在教学、科研和工业等领域得到了广泛的应用,特别是在数据分析和机器学习等领域,Jupyter Notebook已经成为了一个重要的开发工具。

 anaconda3 环境安装

 登录anaconda官网

Anaconda | The World’s Most Popular Data Science Platform

点击免费下载

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第4张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第5张图片

如果不想改盘可以直接无脑安装在C盘

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第6张图片

安装好后可以使用图形化导航启动(但是不提倡这种方式:一是因为图像化软件占用内存。二是运行缓慢)

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第7张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第8张图片

更推荐下面这种运行方式:

命令行窗口启动项目

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第9张图片

转移到工作目录

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第10张图片

 输入dir指令可以看到文件下面的全部项目目录

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第11张图片

使用命令行输入指令:jupyter notebook

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第12张图片

可以看到浏览器端显示出磁盘下面相同的目录

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第13张图片

如果启用jupyter遇到报错500的问题,参考以下方案:

解决JuPyter500:Internal Server Error问题-CSDN博客

 新建.ipynb即可进行笔记、编译、运行代码。

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第14张图片

 选择代码块,shift+enter可以快速运行代码

  

Jupyter notebook快捷键操作大全

**常用的有:

A——向上添加单元格;

B——向下添加单元格;

X——剪切单元格

shift+回车——运行代码块;

编译模式下:shift+tab——查看函数功能

选中代码按下Tab键——代码整体缩进一格

ctrl+/——快速注释

Y: 把单元格变成代码快
M: 把单元格变成 Markdown

命令行模式(按 Esc 生效)编辑快捷键
F: 查找并且替换
Ctrl-Shift-F: 打开命令配置
Ctrl-Shift-P: 打开命令配置
Enter: 进入编辑模式
P: 打开命令配置
Shift-Enter: 运行单元格, 选择下面的单元格
Ctrl-Enter: 运行选中的单元格
Alt-Enter: 运行单元格并且在下面插入单元格
Y: 把单元格变成代码快
M: 把单元格变成 Markdown

R: 清除单元格格式
1: 把单元格变成标题 1
2: 把单元格变成标题 2
3: 把单元格变成标题 3
4: 把单元格变成标题 4
5: 把单元格变成标题 5
6: 把单元格变成标题 6

K: 选择上面的单元格
上: 选择上面的单元格
下: 选择下面的单元格
J: 选择下面的单元格
Shift-K: 扩展上面选择的单元格
Shift-上: 扩展上面选择的单元格
Shift-下: 扩展下面选择的单元格
Shift-J: 扩展下面选择的单元格
Ctrl-A: select all cells
A: 在上面插入单元格
B: 在下面插入单元格
X: 剪切选择的单元格
C: 复制选择的单元格
Shift-V: 粘贴到上面
V: 粘贴到下面
Z: 撤销删除单元格
D,D: 删除选中单元格
Shift-M: 合并选中单元格, 如果只有一个单元格被选中
Ctrl-S: 保存并建立检查点
S: 保存并建立检查点
L: 切换行号
O: 显示/隐藏选定单元格的输出
Shift-O: 切换选中单元格的输出为滚动
H: 显示键盘快捷键
I,I: 中断内核
0,0: 重启内核(带确认对话框)
Esc: 关闭分页器
Q: 关闭分页器
Shift-L: 在所有单元格中切换行号,并保持设置
Shift-空格: 向上滚动
空格: 向下滚动


编辑模式(按 Enter 生效)
Tab: 代码补全或缩进
Shift-Tab: 工具提示
Ctrl-]: 缩进
Ctrl-[: 取消缩进
Ctrl-A: 全选
Ctrl-Z: 撤销
Ctrl-/: 注释
Ctrl-D: 删除整行
Ctrl-U: 撤销选择
Insert: 切换重写标志
Ctrl-Home: 跳到单元格起始处
Ctrl-上: 跳到单元格起始处
Ctrl-End: 跳到单元格最后
Ctrl-下: 跳到单元格最后
Ctrl-左: 往左跳一个单词
Ctrl-右: 往右跳一个单词
Ctrl-退格: 删除前面的单词
Ctrl-Delete: 删除后面的单词
Ctrl-Y: 重做
Alt-U: 重新选择
Ctrl-M: 进入命令行模式
Ctrl-Shift-F: 打开命令配置
Ctrl-Shift-P: 打开命令配置


Esc: 进入命令行模式
Shift-Enter: 运行单元格, 选择下面的单元格
Ctrl-Enter: 运行选中的单元格
Alt-Enter: 运行单元格并且在下面插入单元格
Ctrl-Shift-Minus: split cell at cursor(s)
Ctrl-S: 保存并建立检查点
下: 光标下移
上: 光标上移
关闭

资源整理自——jupyter notebook 快捷键 - 知乎

二、Python基础入门

数据类型与变量

数据类型

Python中的数据类型可以分为以下八种基本类型:布尔型(bool)、整数型(int)、浮点数型(float)、字符串(String)、列表(List)、元组(Tuple)、集合(Set)和字典(Dictionary)。

布尔型(bool),也称为布尔类型,是Python的一种基础数据类型。在Python中,布尔型用bool表示,bool类是int类的子类。它主要用来表示逻辑上的真或假,即存在或不存在的情况。具体来说,布尔类型提供了两个布尔值:True和False。其中,True代表真(对)或存在,False代表假(错)或不存在。

整数型(int):一种用于表示整数的数据类型。

浮点数型(float):一种用于表示浮点数的数据类型。

字符串(String): 字符串是由字符组成的不可变序列。可以用单引号(' ')、双引号(" ")或三引号(''' '''或""" """)来表示字符串。

列表(List): 列表是一个有序的元素集合,可以包含任何类型的项目,并且可以进行修改。列表用方括号([])表示。

元组(Tuple): 元组与列表类似,但是元组是不可变的,一旦被声明,就不能修改。元组用圆括号(())表示。

集合(Set): 集合是一个无序的不重复元素序列。可以使用set()函数创建集合,或者使用大括号{}创建集合。注意:集合是无序的,且元素不能重复。

字典(Dictionary): 字典是一种可变的、无序的键值对集合。字典用大括号{}表示,每个元素是一个键值对。

 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第15张图片

变量及赋值

在Python编程语言中,变量是用来存储数据的容器。其基本概念、命名规范、作用域、类型等是编程的基础部分。Python中的变量类型多样,包括数字(如整数和浮点数)、字符串、列表、元组、字典等。

创建变量时,需要指定变量名和值。例如,创建一个名为num的整数型变量,可以写成num = 10。这里,=是赋值符号,其左侧是变量名,右侧是要赋给变量的值。

Python还允许多重赋值,即一次为多个变量赋值。例如,a, b = 1, 2就同时创建了两个变量a和b,并分别赋值为1和2。此外,Python也支持列表和字典这样的复合数据类型,可以为这些复合数据类型的每一个元素或键值对分别赋值。

需要注意的是,Python中的变量其实是对对象的引用,我们通过变量名来操作对象。当一个变量被赋予一个新的对象引用时,原对象将不再被使用。此外,Python还有全局变量和局部变量的概念,全局变量是在函数外部定义的变量,其作用域是整个程序;而局部变量是在函数内部定义的变量,其作用域仅限于函数内部。

 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第16张图片

布尔类型与逻辑运算

在Python编程语言中,布尔类型(bool)是一种基本的数据类型,它只有两个值:True和False。这种类型的变量通常用于表示逻辑判断的结果,比如真假、存在与否等。

与布尔类型密切相关的是逻辑运算。Python支持的逻辑运算主要有以下三种:

与运算(and):只有当两个布尔值都为True时,结果才为True。例如,True and True的结果为True,而True and False或者False and True的结果都为False。

或运算(or):只要有一个布尔值为True,结果就为True。例如,True or True的结果为True,而True or False的结果为True,False or False的结果为False。

非运算(not):对一个布尔值取反,True变为False,False变为True。

 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第17张图片

输入输出

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第18张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第19张图片 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第20张图片

数据结构


Python中的数据结构主要包括列表、元组、字符串、字典和集合等。

列表(list):是最常用的数据类型,可以对任意对象进行操作,如添加、删除和修改。同时,列表是可变的,即可以修改和扩充。此外,列表还可以当作堆栈或队列使用。

元组(tuple):与列表类似,但是元组是不可变的,即不能修改和扩充。不过,元组可以当作列表使用。

字符串(string):也是一种不可变的数据类型,不能修改和扩充。字符串是由字符组成的序列,可以当作列表使用。

集合(set):是另一种可变的数据类型,可以插入和删除。集合是由唯一元素组成的无序集合,可以进行集合运算和判断。例如,可以使用交集、并集、差集等运算。
以上这些数据结构都有各自的方法和用法,需要根据实际编程需求来选择和使用。

字典(dict):是一种可变的数据类型,可以插入和删除。字典是由键值对组成的无序集合,每个键对应一个值,通过键来访问值。字典的实现是Python的标准库中的dict,可以通过花括号、字典表达式和字典解析式来创建和操作。

python中使用下划线命名的规则python中使用下划线命名的规则_python下划线命名-CSDN博客

 dir()中的函数类型:【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第21张图片

列表(list)

列表(list):是最常用的数据类型,可以对任意对象进行操作,如添加、删除和修改。同时,列表是可变的,即可以修改和扩充。此外,列表还可以当作堆栈或队列使用。

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第22张图片

元组(tuple)

元组(tuple):与列表类似,但是元组是不可变的,即不能修改和扩充。不过,元组可以当作列表使用。

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第23张图片

字符串(string)

字符串(string):也是一种不可变的数据类型,不能修改和扩充。字符串是由字符组成的序列,可以当作列表使用。【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第24张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第25张图片

集合(set)

集合(set):是另一种可变的数据类型,可以插入和删除。集合是由唯一元素组成的无序集合,可以进行集合运算和判断。例如,可以使用交集、并集、差集等运算。 以上这些数据结构都有各自的方法和用法,需要根据实际编程需求来选择和使用。

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第26张图片

字典(dict)

字典(dict):是一种可变的数据类型,可以插入和删除。字典是由键值对组成的无序集合,每个键对应一个值,通过键来访问值。字典的实现是Python的标准库中的dict,可以通过花括号、字典表达式和字典解析式来创建和操作。

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第27张图片

 字典取值赋值

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第28张图片

 字典遍历
 字典嵌套

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第29张图片

选择语句

双分支条件语句

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第30张图片

多分支条件语句 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第31张图片

循环语句

for循环

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第32张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第33张图片

while循环 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第34张图片

函数

在Python编程语言中,函数是一种组织好的、可重复使用的代码段,用于实现单一或相关联的功能。你可以自定义一个符合自己需求的函数,其基本规则如下:

函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。

任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。

函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

函数内容以冒号 :起始,并且缩进。

此外,Python还支持函数递归,这意味着定义的函数能够调用自身。递归是一种常见的数学和编程概念,它通过循环访问数据以达成结果。同时,Python中定义好的函数是可以通过函数名称调取并重复使用的模块。


函数定义与调用

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第35张图片

函数的不同种类的参数

在Python编程语言中,函数的参数是一种定义在函数名后的括号内,可以传递到函数中的值。你可以使用不同类型的参数来定制你的函数行为。

Python支持五种类型的参数:必选参数、默认参数、可变参数、关键字参数和命名关键字参数。

必选参数:这是函数定义时必须要有的参数,调用函数时必须传入对应的实际参数。

默认参数:这种参数在函数定义时不必传入,但在函数调用时如果没有提供对应的实际参数,那么就会使用默认值。注意,如果有多个默认参数,它们必须 在非默认参数之后。

可变参数:这种参数可以接受任意数量的实际参数。在定义时,可变参数前面有一个星号(*)。

关键字参数:这种参数允许你通过参数名指定实际参数的值,而不是通过位置。在函数调用时,关键字参数的顺序必须是匹配的。

命名关键字参数:这种参数结合了关键字参数和可变参数的特性。它可以接收任意数量的实际参数,并且可以通过参数名指定实际参数的值。在函数调用时,命名关键字参数的顺序是无所谓的。

这些参数类型可以组合使用,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第36张图片 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第37张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第38张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第39张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第40张图片

函数的递归调用

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第41张图片

Lambda表达式&列表表达式

Python中的Lambda表达式是一种简洁的创建匿名函数的方法。它允许你在一行代码中定义一个简单的函数,而不需要使用def关键字。Lambda表达式的基本语法如下:lambda 参数列表: 表达式

Lambda表达式有以下几个优点:

简洁:Lambda表达式可以用一行代码实现一个简单的函数,不需要使用def关键字和函数名。

匿名:Lambda表达式没有函数名,因此不需要显式地将函数赋值给一个变量。这使得在需要一个小的、临时使用的函数时,可以更加方便地编写和传递。

适用于高阶函数:Lambda表达式可以作为参数传递给其他函数,例如map()、filter()等高阶函数。这使得你可以使用简单的语法来处理复杂的操作。

适用于并行计算:Lambda表达式可以很容易地用于并行计算,因为它们可以在多个线程或进程之间共享和执行。

适用于数据预处理:在机器学习和数据分析中,经常需要对数据进行一些预处理操作,例如标准化、归一化等。Lambda表达式可以很方便地实现这些操作,而无需定义完整的函数。

列表表达式是一种简洁的创建列表的方法,它使用方括号[]将一系列元素括起来,并用逗号,分隔。

列表推导式具有以下几个显著的优点:

代码简洁:列表推导式能够在一行代码中完成生成列表的任务,相比于使用for循环来生成列表,代码量更少,更加简洁。这使得代码更易读、易理解,同时也减少了代码的维护工作。

高效性能:列表推导式相比于for循环在性能上更为高效。由于列表推导式是内置函数,在底层进行了优化,可以以更快的速度完成列表的生成。

功能更强大:列表推导式对于对列表进行变换和筛选非常方便和灵活。我们可以在表达式中加入判断语句,通过条件进行筛选,从而生成满足特定条件的列表。

可读性更好:由于列表推导式的语法结构独特且简洁,代码更易读、易理解。在使用列表推导式时,无需在代码中额外说明循环的细节,使得代码更加清晰,提高了代码的可读性。

 lambda表达式【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第42张图片

列表表达式 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第43张图片

Map和Filter

map()和filter()是Python内置的高阶函数,它们都接受一个函数和一个可迭代对象(如列表、元组等)作为参数。

map()函数:map()函数用于映射,它将一个序列的每个元素依次传递给指定的函数进行操作,并返回一个包含所有结果的迭代器。它不会改变原数组,也不会检查空数组。

filter()函数:filter()函数用于过滤序列,它接收一个函数和一个序列作为参数,然后将该函数应用于序列的每个元素,最终返回一个由所有使得函数返回值为真的元素组成的迭代器。它会根据函数中的筛选条件将返回符合条件的结果组成一个新的数组并返回。

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第44张图片 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第45张图片

Iterables与Iterators

在Python编程中,Iterable和Iterator是两个非常重要的概念。可迭代对象(Iterable)是指可以使用for循环遍历的对象,例如列表、元组、字典等,它们遵循可迭代的协议,即包含iter()方法。而迭代器(Iterator)则是实现了迭代器协议的对象,具体来说,只要一个对象定义了next()(Python 2版本)或者next()(Python 3版本)方法,那么它就是一个迭代器。迭代器中的iter()方法应返回其自身,因此迭代器也是一种可迭代对象。

更具体地说,当我们使用for循环来遍历一个可迭代对象时,Python会自动将该可迭代对象转换为一个迭代器。在这个过程中,for循环首先调用该可迭代对象的iter()方法来获取该对象的迭代器,然后通过调用迭代器的next()或next()方法来获取序列中的下一个元素。当没有更多的元素可以访问时,next()或next()方法会抛出StopIteration异常,从而结束遍历。

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第46张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第47张图片

类面向对象

Python中的类是一种面向对象编程的概念,它允许我们根据属性和方法来模拟现实世界中的事物。类的定义包括实例属性、类属性、方法和类的继承等基础知识。此外,Python还支持类的构造方法、参数、继承、方法重写等方面的知识,以及类的特殊属性和方法,如私有属性和私有方法。

类的定义

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第48张图片

类的实例(对象)

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第49张图片

类的访问限制

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第50张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第51张图片

类的继承

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第52张图片

类的多态

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第53张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第54张图片

三、基于seaborn库的数据分析

Numpy与数组(矩阵)

NumPy是一个Python编程语言的库,它支持大型多维数组和矩阵,并提供了大量的高级数学函数来操作这些数组。它通常被用作Python科学计算的基础包。

安装方法:

打开anaconda prompt在窗口中输入安装指令:

pip install numpy 或者 conda install numpy

一维矩阵

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第55张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第56张图片【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第57张图片 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第58张图片

多维矩阵

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第59张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第60张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第61张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第62张图片

随机矩阵 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第63张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第64张图片

Pandas与数据表

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第65张图片

DataFrame 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第66张图片

np.array -> dataframe 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第67张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第68张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第69张图片 dicts --> dataframe

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第70张图片 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第71张图片

读数据head()、tail() & 取数据loc()、iloc() 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第72张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第73张图片 Using loc or iloc to access the elements

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第74张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第75张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第76张图片convert Dataframes into array 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第77张图片 读取CSV文件&获取基本表信息

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第78张图片

Reading CSV 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第79张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第80张图片 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第81张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第82张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第83张图片

 URL to CSV 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第84张图片

Read Json to CSV 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第85张图片

convert Json to csv 

 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第86张图片

convert Json to different json formats 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第87张图片 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第88张图片

 Reading HTML【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第89张图片

Reading Excel 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第90张图片Reading Pickling 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第91张图片

MatplotLib数据分析

Matplotlib 是一个用于创建图表的库,它提供了多种图表类型和可视化选项。以下是一些常见的 Matplotlib 功能:

线图(Line graph):通过输入一维数据(如一组变量的数值),Matplotlib 可以生成线图,以显示数据随时间或其他连续变量的变化趋势。

散点图(Scatter plot):通过输入二维数据(如两组变量的观测值),Matplotlib 可以生成散点图,展示两个或更多组之间的关系。

柱状图(Bar chart):通过输入一维数据(如一组变量的数值),Matplotlib 可以生成柱状图,以直观地比较不同类别的数据。

直方图(Histogram):通过输入二维数据(如两组变量的观测值),Matplotlib 可以生成直方图,展示数据的分布情况。

箱线图(Box Plot):通过输入一维数据(如一组变量的数值),Matplotlib 可以生成箱线图,以直观地比较不同类别的数据。

热力图(Heat map):通过输入一维数据(如一组变量的数值),Matplotlib 可以生成热力图,显示数据之间的相关性。

小提琴图(Gir figure):一种用于表示数据的图形,通常用于表示分类数据。

饼图(pie chart):一种用于表示数据的图形,通常用于表示数据所占比例。

这些只是 Matplotlib 提供的部分图表类型。要查看所有可能的图表类型和选项,请查阅官方文档:Matplotlib — Visualization with Python

安装方法:

启动anaconda prompt在窗口中输入指令下载安装matplotlib 库:

conda install -c conda-forge matplotlib

或者

pip install matplotlib

导入函数库 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第92张图片 线图【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第93张图片

分割子图 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第94张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第95张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第96张图片

线图绘制函数图像 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第97张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第98张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第99张图片

 散点图

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第100张图片

柱状图

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第101张图片

直方图

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第102张图片

箱线图

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第103张图片

热力图

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第104张图片

小提琴图

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第105张图片

饼图

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第106张图片

Seaborn数据分析

Seaborn是一个基于Python的非常受欢迎的数据可视化库,它以Matplotlib为基础进行了更高级的封装,从而使得作图过程更加方便快捷。通过Seaborn简洁的API,用户可以创建具有分析价值且美观的图形,即使是没有任何基础的人也能轻松上手。

Seaborn的一些主要特点包括:

提供了多种常见的图表类型,如散点图、线图、柱状图、箱线图等,可以快速创建各种美观而又有用的图表。

内置了多种不同的样式和颜色主题,可以轻松地修改图表的外观,使其更加符合个人或团队的品牌形象。

集成了多种统计分析工具,例如回归分析、核密度估计、分类汇总等,可以帮助用户更深入地理解数据,并从中发现有用的信息。

能够处理多变量数据,可以使用散点图、热力图等方式展示变量之间的关系和趋势。

此外,Seaborn还对Pandas和Numpy数据类型有着良好的支持,并且其图表接口和参数设置与Matplotlib非常接近。因此,在进行探索性数据分析(EDA)过程中,Seaborn往往能提供更高的效率。

安装方法:

启动anaconda prompt在窗口中下载安装包:

pip install seaborn 或者 conda install seaborn

图形种类:

Seaborn是一个基于Matplotlib的Python数据可视化库,它提供了更高级的接口用于绘制有吸引力和信息量的统计图形。Seaborn一共有5个大类21种图,包括:

Relational plots 关系类图表:relplot是关系类图表的接口,其实是下面两种图的集成,通过指定kind参数可以画出下面的两种图。这两种图分别是scatterplot散点图和lineplot折线图。

Categorical plots 分类图表:catplot是分类图表的接口,其实是下面八种图表的集成,通过指定kind参数可以画出下面的八种图。这八种图分别是:stripplot分类散点图、swarmplot能够显示分布密度的分类散点图、boxplot箱图、violinplot小提琴图、boxenplot增强箱图、pointplot点图、barplot条形图和countplot计数图。

Distribution plot 分布图:这类图像包括直方图、核密度估计图等,用于展示数据的分布情况。

在大多数情况下,使用Seaborn能做出很具有吸引力的图,而且Seaborn的图像风格更清爽,配色更加舒服,图形元素的样式更加细腻。

关系类图表:

散点图(scatterplot):用于展示两个变量之间的关系,例如不同城市的人口密度和平均收入。

折线图(lineplot):用于展示两个变量随时间的变化关系,例如某地区的GDP增长率。

分类图表:

分类散点图(stripplot):用于展示分类变量与数值变量之间的关系,例如不同性别的身高分布。

分类箱图(boxplot):用于展示分类变量的中位数、四分位数和异常值,例如不同年龄段的人的血压水平。

小提琴图(violinplot):用于展示分类变量的分布情况,同时显示每个类别的中位数、四分位数和异常值,例如不同国家的人口密度分布。

分布图:

直方图(histogram):用于展示数据的分布情况,例如某个城市的房价分布。

核密度估计图(kde plot):用于展示数据的分布情况,同时显示数据的平滑曲线,例如某个城市的房价密度分布。

导入seaborn库

 

加载数据集

线上加载

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第107张图片

本地加载

下载数据集

seaborn-data: seaborn-data 数据集

 clone下来的数据集复制到项目目录 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第108张图片

通过修改参数路径加载数据集

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第109张图片

关系类图表-散点图(scatterplot)

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第110张图片

关系类图表-折线图(lineplot) 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第111张图片

分类图表-分类散点图(stripplot) 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第112张图片

分类图表-分类箱图(boxplot) 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第113张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第114张图片 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第115张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第116张图片 分类图表-小提琴图(violinplot)【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第117张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第118张图片 Categorical Plots分类图

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第119张图片 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第120张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第121张图片 分布图-直方图(histogram)【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第122张图片

分布图-核密度估计图(kde plot) 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第123张图片

Dist plot分布图 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第124张图片 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第125张图片

Correlation with Heatmap相关性热图 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第126张图片

JoinPlot联合图 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第127张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第128张图片Pair plot配对图 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第129张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第130张图片 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第131张图片

划分网格FacetGrid() 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第132张图片

Univariate,Bivariate,MultiVariate Analysis & Histograms 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第133张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第134张图片 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第135张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第136张图片 数据预处理(数据加工)

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第137张图片

数据分析 

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第138张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第139张图片 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第140张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第141张图片 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第142张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第143张图片 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第144张图片

【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第145张图片 【零基础入门Python数据分析】Anaconda3 JupyterNotebook&seaborn版_第146张图片

你可能感兴趣的:(#,python,数据分析,开发语言)