【零基础入门Python数据分析】Anaconda3 JupyterNotebookseaborn版

news/2024/2/29 17:24:55/文章来源:https://blog.csdn.net/qq_51701007/article/details/135565847

目录

一、安装环境

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具有多个优点,包括:

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

然而,Python也存在一些缺点

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

anaconda介绍

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

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

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

jupyter notebook介绍

 

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

点击免费下载

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

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

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

命令行窗口启动项目

转移到工作目录

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

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

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

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

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

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

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

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

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

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

 

布尔类型与逻辑运算

在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中的数据结构主要包括列表、元组、字符串、字典和集合等。

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

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

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

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

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

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

 dir()中的函数类型:

列表(list)

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

元组(tuple)

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

字符串(string)

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

集合(set)

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

字典(dict)

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

 字典取值赋值

 字典遍历
 字典嵌套

选择语句

双分支条件语句

多分支条件语句 

循环语句

for循环

while循环 

函数

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

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

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

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

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

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


函数定义与调用

函数的不同种类的参数

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

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

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

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

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

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

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

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

 

函数的递归调用

Lambda表达式&列表表达式

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

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

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

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

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

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

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

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

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

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

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

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

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

 lambda表达式

列表表达式 

Map和Filter

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

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

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

 

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

类的定义

类的实例(对象)

类的访问限制

类的继承

类的多态

三、基于seaborn库的数据分析

Numpy与数组(矩阵)

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

安装方法:

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

pip install numpy 或者 conda install 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数据分析

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

导入函数库 

 线图

分割子图 

线图绘制函数图像 

 散点图

柱状图

直方图

箱线图

热力图

小提琴图

饼图

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库

 

加载数据集

线上加载

本地加载

下载数据集

seaborn-data: seaborn-data 数据集

 clone下来的数据集复制到项目目录 

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

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

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

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

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

 

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

 Categorical Plots分类图

 

 分布图-直方图(histogram)

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

Dist plot分布图 

 

Correlation with Heatmap相关性热图 

JoinPlot联合图 

Pair plot配对图 

 

划分网格FacetGrid() 

Univariate,Bivariate,MultiVariate Analysis & Histograms 

 

 数据预处理(数据加工)

数据分析 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_925598.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【HarmonyOS】消息通知场景的实现

从今天开始,博主将开设一门新的专栏用来讲解市面上比较热门的技术 “鸿蒙开发”,对于刚接触这项技术的小伙伴在学习鸿蒙开发之前,有必要先了解一下鸿蒙,从你的角度来讲,你认为什么是鸿蒙呢?它出现的意义又是…

SpringAOP-说说 JDK动态代理和 CGLIB 代理

Spring 的 AOP 是通过动态代理来实现的,动态代理主要有两种方式 JDK 动态代理和 Cglib 动态代理,这两种动态代理的使用和原理有些不同。 JDK 动态代理 Interface:JDK动态代理是基于接口的代理,它要求目标类实现一个接口。Invoca…

通过OpenIddict设计一个授权服务器02-创建asp.net项目

在这一部分中,我们将创建一个ASPNET核心项目,作为我们授权服务器的最低设置。我们将使用MVC来提供页面,并将身份验证添加到项目中,包括一个基本的登录表单。 创建一个空的asp.net core项目 正如前一篇文章中所说,授权…

PSoc62™开发板之i2c通信

实验目的 使用模拟i2c接口读取温湿度气压模块BME280数据 实验准备 PSoc62™开发板温湿度气压模块BME280公母头杜邦线 板载资源 本次实验是通过模拟i2c时序的方式来进行通信,理论上可以有非常多的方式配置i2c引脚,不像硬件i2c那样芯片出厂引脚已经固…

SpringBoot教程(十二) | SpringBoot集成JPA

SpringBoot教程(十二) | SpringBoot集成JPA 1. JPA简介 概念: JPA顾名思义就是Java Persistence API的意思,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 优势: 标准化 …

信息系统安全——Linux 访问控制机制分析

实验 4 Linux 访问控制机制分析 4.1 实验名称 《Linux 访问控制机制分析》 4.2 实验目的 1 、熟悉 Linux基本访问控制机制使用和原理 2 、熟悉 Linux S 位的作用和使用 3 、熟悉强制访问控制 Selinux 原理及其使用 4.3 实验步骤及内容 1 、Linux 基本访问控制机制 &#xff08…

渗透测试(8)- Kali Linux 系统概述

Kali Linux 是一个基于 Debian 的 Linux 发行版,包括很多安全和取证方面的相关工具。Kali Linux 是一款全功能的安全操作系统,它可以帮助用户完成各种安全任务,包括网络渗透测试、系统攻击、密码破解、恶意软件分析、社会工程学攻击等&#x…

buuctf[极客大挑战 2019]BabySQL--联合注入、双写过滤

目录 1、测试万能密码: 2、判断字段个数 3、尝试联合注入 4、尝试双写过滤 5、继续尝试列数 6、查询数据库和版本信息 7、查询表名 8、没有找到和ctf相关的内容,查找其他的数据库 9、查看ctf数据库中的表 10、查询Flag表中的字段名 11、查询表…

新能源汽车智慧充电桩方案:如何实现充电停车智慧化管理?

一、方案概述 基于新能源汽车充电桩的监管运营等需求,安徽旭帆科技携手合作伙伴触角云共同打造“智能充电设备+云平台+APP小程序”一体化完整的解决方案,为充电桩车位场所提供精细化管理车位的解决办法,解决燃油车恶意…

Python+Django+MySQL的图书馆管理系统【附源码,运行简单】

PythonDjangoMySQL的图书馆管理系统【附源码,运行简单】 总览 1、《图书馆管理系统》1.1 方案设计说明书设计目标需求分析工具列表 2、详细设计2.1 登录2.2 注册2.3 程序主页面2.4 图书新增界面2.5 图书信息修改界面2.6 其他功能贴图 3、下载 总览 自己做的项目&am…

测试覆盖率 之 Cobertura的使用

什么是代码覆盖率? 代码覆盖率是对整个测试过程中被执行的代码的衡量,它能测量源代码中的哪些语句在测试中被执行,哪些语句尚未被执行。 为什么要测量代码覆盖率? 众所周知,测试可以提高软件版本的质量和可预测性。…

【力扣·每日一题】2085.统计出现过一次的公共字符串(模拟 哈希表 优化 C++ Go)

题目链接 题意 给你两个字符串数组 words1 和 words2 ,请你返回在两个字符串数组中 都恰好出现一次 的字符串的数目。 输入:words1 [“leetcode”,“is”,“amazing”,“as”,“is”], words2 [“amazing”,“leetcode”,“is”] 输出:2 …

Java爬虫爬取图片壁纸

Java爬虫 以sougou图片为例:https://pic.sogou.com/ JDK17、SpringBoot3.2.X、hutool5.8.24实现Java爬虫,爬取页面图片 项目介绍 开发工具:IDEA2023.2.5 JDK:Java17 SpringBoot:3.2.x 通过 SpringBoot 快速构建开发环境…

Baumer工业相机堡盟工业相机如何使用OpenCV实现相机图像的显示(C#)

Baumer工业相机堡盟工业相机如何使用OpenCV实现相机图像的显示(C#) Baumer工业相机Baumer工业相机的图像转换为OpenCV的Mat图像的技术背景在NEOAPI SDK里使用OpenCV实现相机图像的显示联合OpenCV实现相机图像的显示测试演示图 工业相机通过使用OpenCV实现…

生产力与生产关系 —— 浅析爱泼斯坦事件 之 弱电控制强电原理

据网络文字与视频资料,爱泼斯坦事件是犹太精英阶层,为了掌控美国国家机器为犹太利益集团服务,而精心设下的一个局。本文先假设这个结论成立,并基于此展开讨论。 我们知道,弱电管理强电是电气工程中的一门专门学问&…

Pandas.DataFrame.groupby() 数据分组(数据透视、分类汇总) 详解 含代码 含测试数据集 随Pandas版本持续更新

关于Pandas版本: 本文基于 pandas2.1.2 编写。 关于本文内容更新: 随着pandas的stable版本更迭,本文持续更新,不断完善补充。 Pandas稳定版更新及变动内容整合专题: Pandas稳定版更新及变动迭持续更新。 Pandas API参…

弟12章 网络编程

文章目录 网络协议概述 p164TCP协议与UDP协议的区别 p165TCP服务器端代码的编写 p166TCP服务器端流程 TCP客户端代码的编写 p167TCP客户端流程主机和客户端的通信流程 tcp多次通信服务器端代码 p168TCP多次通信客户端代码 p169UDP的一次双向通信 p170udp通信模型udp接收方代码u…

生活的再思考,写在开篇

近几年的就业行情很特别,特别是对中年人,早先网络上主流的声音是动不动总包百万,手握几个 Offer ,纠结应该去哪里。现在的主流声音变成了,被毕业优化掉后几个月都没找到合适的工作,焦虑迷茫无所适从&#x…

第5章案例课:部署Tomcat及其负载均衡

这个实验需要3台虚拟机 192.168.9.40 9.31 9.32 去FTP 下载软件包 192.168.9.40 和 192.168.9.31 都要这里面的配置[rootnode1 ~]# mount /dev/cdrom /mnt/ //挂载[rootnode1 ~]# rpm -ivh /mnt/Packages/ftp-0.17-67.el7.x86_64.rpm //下载 FTP 软件包[roo…

发送HTTP POST请求并处理响应

发送HTTP POST请求并处理响应是Web开发中的常见任务。在Go语言中,可以使用net/http包来发送HTTP POST请求并处理响应。 以下是一个示例代码,演示了如何发送HTTP POST请求并处理响应: go复制代码 package main import ( "b…