Python数据分析与可视化(Python绘图详解)

在这里插入图片描述

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。
🍎个人主页:Java Fans的博客
🍊个人信条:不迁怒,不贰过。小知识,大智慧。
💞当前专栏:Java案例分享专栏
✨特色专栏:国学周更-心性养成之路
🥭本文内容:Python数据分析与可视化(Python绘图详解)

文章目录

    • 一、前言
    • 二、知识点详解
      • 1. Python 数据分析步骤
      • 2. Python创建可视化的基本步骤
    • 三、Python 绘图
      • 1. 绘制三维曲面图及其投影图
      • 2. 绘制曲面图
      • 3. 绘制曲面投影图
      • 4. 同时绘制曲面图和投影图,用两个图展示
      • 5. 绘制曲面图
      • 6. 同时绘制曲面图及其二维填色图

在这里插入图片描述

一、前言

  在数据科学领域,数据分析和可视化是至关重要的环节,能够帮助我们从数据中提取有用的信息和见解。Python作为一种功能强大且易于学习的编程语言,在数据分析和可视化方面拥有丰富的工具和库,如NumPy、Pandas、Matplotlib和Seaborn等。

  首先,让我们来看看如何使用Python进行数据分析。在数据分析过程中,通常需要加载数据、清洗数据、进行统计分析和建模等步骤。我们可以使用Pandas库加载和处理数据NumPy库用于数值计算,以及Scikit-learn库用于机器学习建模。通过这些工具,我们可以轻松地对数据进行探索和分析,从而更好地理解数据背后的规律和趋势。

  接下来,让我们转向数据可视化。数据可视化是将数据转换为图形化展示的过程,能够帮助我们直观地理解数据并发现数据之间的关系。在Python中,Matplotlib和Seaborn是两个常用的数据可视化库,可以绘制各种类型的图表,如折线图、柱状图、散点图、热力图等。通过这些图表,我们可以更直观地展示数据的特征和趋势,为数据分析提供更直观的支持。

  综上所述,Python作为一种强大的编程语言,在数据分析和可视化方面拥有丰富的工具和库,能够帮助我们更好地理解和分析数据。通过实际案例的学习和实践,我们可以更加熟练地运用Python进行数据分析和可视化,从而提升数据科学的能力和水平。

二、知识点详解

1. Python 数据分析步骤

  进行数据分析时,通常会使用Python中的一些流行库(如Pandas、NumPy、Matplotlib等)。以下是使用Python进行数据分析的基本步骤:

  • 导入数据:
    使用Pandas库中的read_csv()函数导入数据集,也可以从数据库、API等来源获取数据。
  • 数据探索:
    使用head()、info()、describe()等方法查看数据的前几行、基本信息和统计摘要。
    检查数据类型、缺失值、异常值等。
  • 数据清洗:
    处理缺失值:使用dropna()删除缺失值或fillna()填充缺失值。
    处理重复值:使用drop_duplicates()删除重复值。
    数据类型转换:将数据转换为适当的数据类型。
  • 数据可视化:
    使用Matplotlib、Seaborn等库绘制图表,如折线图、柱状图、散点图等,以便更直观地理解数据。
  • 特征工程:
    创建新特征:根据现有特征创建新的特征。
    特征编码:对分类变量进行独热编码或标签编码。
  • 数据建模:
    根据问题选择合适的模型,如线性回归、决策树、随机森林等。
    使用Scikit-learn库构建模型,包括拟合、预测和评估模型。
  • 模型评估:
    使用交叉验证、混淆矩阵、准确率、精确率、召回率等指标评估模型性能。
  • 模型优化:
    调参:使用网格搜索、随机搜索等方法调整模型超参数以提高性能。
    特征选择:根据特征重要性选择最相关的特征。
  • 结果解释:
    解释模型的预测结果,分析模型的优劣势,提出改进建议。

2. Python创建可视化的基本步骤

  创建可视化是数据分析中非常重要的一环,Python中有多个库可以用来创建各种类型的可视化,比如Matplotlib、Seaborn、Plotly等。以下是使用Python创建可视化的基本步骤:

  • 导入库:
    导入需要使用的可视化库,如Matplotlib、Seaborn等。
  • 准备数据:
    准备要可视化的数据,确保数据格式正确并包含所需的信息。
  • 选择图形类型:
    根据数据的特点和展示需求选择合适的图形类型,如折线图、柱状图、散点图等。
  • 创建图形:
    使用选定的库中的函数或方法创建图形对象,如plt.figure()创建Figure对象。
  • 绘制图形:
    使用相应的绘图函数绘制图形,如plt.plot()绘制折线图、plt.bar()绘制柱状图等。
  • 设置图形属性:
    设置图形的标题、坐标轴标签、图例、颜色等属性,以增强可视化效果。
  • 显示图形:
    使用plt.show()显示绘制的图形。
  • 保存图形:
    可选择将图形保存为图片文件,使用plt.savefig()保存图形。
  • 示例代码:
import matplotlib.pyplot as plt# 准备数据
x = [1, 2, 3, 4, 5]
y = [10, 15, 13, 18, 16]# 创建图形
plt.figure()# 绘制折线图
plt.plot(x, y, marker='o', color='b', linestyle='-', label='Line Plot')# 设置图形属性
plt.title('Example Line Plot')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.legend()# 显示图形
plt.show()

三、Python 绘图

1. 绘制三维曲面图及其投影图

  • 知识点:
    • 使用Matplotlib库中的plot_surface方法绘制三维曲面图
    • 使用contourf方法绘制曲面的投影图
  • 关键步骤:
    • 创建一个包含两个子图的Figure对象
    • 在第一个子图中使用plot_surface方法绘制三维曲面图
    • 在第二个子图中使用contourf方法绘制曲面的投影图
    • 设置子图的标题和显示图形
  • 详细代码
import matplotlib.pyplot as plt
import numpy as npfig = plt.figure()
ax = fig.add_subplot(121, projection='3d')
ax2 = fig.add_subplot(122)X = np.linspace(-5, 5, 100)
Y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(X, Y)
Z = np.sin(np.sqrt(X**2 + Y**2))ax.plot_surface(X, Y, Z, cmap='viridis')
ax.set_title('3D Surface Plot')ax2.contourf(X, Y, Z, cmap='viridis')
ax2.set_title('Projection Plot')plt.show()

在这里插入图片描述

2. 绘制曲面图

  • 知识点:
    • 使用Matplotlib库中的plot_surface方法绘制三维曲面图
  • 关键步骤:
    • 创建一个Figure对象
    • 使用plot_surface方法绘制三维曲面图
    • 设置图形的标题和显示图形
  • 详细代码
import matplotlib.pyplot as plt
import numpy as npfig = plt.figure()
ax = fig.add_subplot(111, projection='3d')X = np.linspace(-5, 5, 100)
Y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(X, Y)
Z = np.sin(np.sqrt(X**2 + Y**2))ax.plot_surface(X, Y, Z, cmap='viridis')
ax.set_title('Surface Plot')plt.show()

在这里插入图片描述

3. 绘制曲面投影图

  • 知识点:
    • 使用Matplotlib库中的contourf方法绘制曲面的投影图
  • 关键步骤:
    • 创建一个Figure对象
    • 使用contourf方法绘制曲面的投影图
    • 设置图形的标题和显示图形
  • 详细代码
import matplotlib.pyplot as plt
import numpy as npfig = plt.figure()
ax = fig.add_subplot(111)X = np.linspace(-5, 5, 100)
Y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(X, Y)
Z = np.sin(np.sqrt(X**2 + Y**2))ax.contourf(X, Y, Z, cmap='viridis')
ax.set_title('Projection Plot')plt.show()

在这里插入图片描述

4. 同时绘制曲面图和投影图,用两个图展示

  • 知识点:
    • 同时在一个Figure中创建多个子图展示不同图形
  • 关键步骤:
    • 创建一个包含两个子图的Figure对象
    • 在第一个子图中使用plot_surface方法绘制三维曲面图
    • 在第二个子图中使用contourf方法绘制曲面的投影图
    • 设置子图的标题和显示图形
  • 详细代码
import matplotlib.pyplot as plt
import numpy as npfig, axs = plt.subplots(1, 2, figsize=(12, 5))X = np.linspace(-5, 5, 100)
Y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(X, Y)
Z = np.sin(np.sqrt(X**2 + Y**2))axs[0].plot_surface(X, Y, Z, cmap='viridis')
axs[0].set_title('Surface Plot')axs[1].contourf(X, Y, Z, cmap='viridis')
axs[1].set_title('Projection Plot')plt.show()

在这里插入图片描述

5. 绘制曲面图

  • 知识点:
    • 使用Matplotlib库中的plot_surface方法绘制三维曲面图
  • 关键步骤:
    • 创建一个Figure对象
    • 使用plot_surface方法绘制三维曲面图
    • 设置图形的标题和显示图形
  • 详细代码
import matplotlib.pyplot as plt
import numpy as npfig = plt.figure()
ax = fig.add_subplot(111, projection='3d')X = np.linspace(-5, 5, 100)
Y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(X, Y)
Z = np.sin(np.sqrt(X**2 + Y**2))ax.plot_surface(X, Y, Z, cmap='viridis')
ax.set_title('Surface Plot')plt.show()

在这里插入图片描述

6. 同时绘制曲面图及其二维填色图

  • 知识点:
    • 同时在一个Figure中创建多个子图展示不同图形
  • 关键步骤:
    • 创建一个包含两个子图的Figure对象
    • 在第一个子图中使用plot_surface方法绘制三维曲面图
    • 在第二个子图中使用contourf方法绘制曲面的二维填色图
    • 设置子图的标题和显示图形
  • 详细代码
import matplotlib.pyplot as plt
import numpy as npfig, axs = plt.subplots(1, 2, figsize=(12, 5))X = np.linspace(-5, 5, 100)
Y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(X, Y)
Z = np.sin(np.sqrt(X**2 + Y**2))axs[0].plot_surface(X, Y, Z, cmap='viridis')
axs[0].set_title('Surface Plot')axs[1].contourf(X, Y, Z, cmap='viridis')
axs[1].set_title('2D Filled Contour Plot')plt.show()

在这里插入图片描述


  码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识点击关注博主,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。

在这里插入图片描述

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

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

相关文章

6张图掌握提示词工程师工作范围与工作技巧(提示词原理篇)

在人工智能的疆域中,提示词工程师扮演着至关重要的角色。他们精心设计的话语,是引导AI模型理解人类需求、激发创造力的关键。如同指挥官的号令,提示词工程师的每一个提问,都让AI的潜力得到释放,让技术与智慧的对话更加…

群晖NAS使用Docker本地部署网页版Ubuntu系统并实现无公网IP远程访问

文章目录 前言1. 下载Docker-Webtop镜像2. 运行Docker-Webtop镜像3. 本地访问网页版Linux系统4. 群晖NAS安装Cpolar工具5. 配置异地访问Linux系统6. 异地远程访问Linux系统7. 固定异地访问的公网地址 前言 本文旨在详细介绍如何在群晖NAS部署docker-webtop,并结合c…

电力电塔电线缺陷检测数据集 voc yolo

电力 电塔电线缺陷检测数据集 10000张 带标注 voc yolo 电力电塔电线缺陷检测数据集 数据集描述 该数据集旨在用于电力电塔和电线的缺陷检测任务,涵盖多种常见的缺陷类型。数据集包含了大量的图像及其对应的标注信息,可用于训练计算机视觉模型&#x…

Linux:进程(一)

目录 一、概念的理解 二、指令操作 一、概念的理解 在许多地方对进程的定义都是这样的一句话:加载到内存中的程序、正在运行的程序、进程可以排队 而要真正理解进程是什么,这一句话的解释远远不够。 在定义进程之前,先来理解程序&#xff0…

21、Tomato

难度 低(个人认为中) 目标 root权限 一个flag 使用VMware启动 kali 192.168.152.56 靶机 192.168.152.66 信息收集 端口信息收集 可以看到有个ftp服务,2211实际是ssh协议端口,80、8888是一个web服务 web测试 80端口显示一个tomato 查看源码给了一些…

MATLAB系列06:复数数据、字符数据和附加画图类

MATLAB系列06:复数数据、字符数据和附加画图类 6. 复数数据、字符数据和附加画图类6.1 复数数据6.1.1 复变量( complex variables)6.1.2 带有关系运算符的复数的应用6.1.3 复函数( complex function)6.1.4 复数数据的作…

【FPGA】编程方式

FPGA编程方式 1 什么是PLD?2 什么是颗粒度?3 可编程逻辑器件的编程方式有哪些?3.1 SRAM 编程技术3.2 Flash/EEPROM 编程技术3.3 反熔丝编程技术3.4 编程技术比较 参考资料 1 什么是PLD? 可编程逻辑器件 英文全称为:pr…

SpringBoot 数据库表结构文档生成

官方地址&#xff1a;https://github.com/pingfangushi/screw screw 螺丝钉&#xff0c;支持以下数据库 MySQL MariaDB TIDB Oracle SqlServer PostgreSQL Cache DB&#xff08;2016&#xff09; 生产文档支持 html word markdown 开始 添加依赖 <!-- 螺丝钉 --><…

c语言面试字符串复制

1&#xff0c;下面这个函数的打印是什么&#xff1a; #include<stdio.h> #include<string.h>int main() {char str0[5], str1[] "welcome";strcpy(str0, str1);printf("str0:%s\r\n",str0);printf("str1:%s\r\n",str1); } larkla…

nginx实现https安全访问的详细配置过程

文章目录 前言什么是 HTTP&#xff1f;什么是 HTTPS&#xff1f;HTTP 和 HTTPS 的区别为什么 HTTPS 被称为安全的&#xff1f;配置过程配置自签名证书 前言 首先我们来简单了解一下什么是http和https以及他们的区别所在. 什么是 HTTP&#xff1f; HTTP&#xff0c;全称为“超…

notepad++的json查看

json文件查看 因为接触到3dtile模型&#xff0c;所以经常需要和json打交道&#xff0c;但是很多模型是下面这种情况&#xff0c;不好阅读&#xff0c;所以可以使用notepad的插件查看 正常打开是这样的 加载notepad插件 搜索json下载安装就可以了 如果网络抽象&#xff0c;下载…

Hive企业级调优[3]—— Explain 查看执行计划

Explain 查看执行计划 Explain 执行计划概述 EXPLAIN 命令呈现的执行计划由一系列 Stage 组成。这些 Stage 之间存在依赖关系&#xff0c;每一个 Stage 可能对应一个 MapReduce Job 或者一个文件系统的操作等。如果某 Stage 对应了一个 MapReduce Job&#xff0c;则该 Job 在 …

Apache James配置连接达梦数据库

项目场景&#xff1a; Apache James配置连接达梦数据库&#xff0c;其他配置中不存在的数据库也可参考此方案。 配置步骤 1、把需要的jar包导入到James 把DmJdbcDriver18.jar复制到下面lib目录下 james-2.3.2\lib 2、 修改连接配置 james-2.3.2\apps\james\SAR-INF\confi…

C# 技巧在 foreach 循环中巧妙获取索引

目录 前言 使用 LINQ 和扩展方法 直接在 LINQ 查询中使用 使用 LINQ 的 Select() 与 Enumerable.Range() 总结 最后 前言 在C#中foreach 循环是处理集合的常见方式&#xff0c;因其简洁性和易读性而广受青睐。 但是在某些情况下&#xff0c;我们需要同时获取集合中元素的…

[深度学习]神经网络

1 人工神经网络 全连接神经网络 2 激活函数 隐藏层激活函数由人决定输出层激活函数由解决的任务决定: 二分类:sigmoid多分类:softmax回归:不加激活(恒等激活identify)2.1 sigmoid激活函数 x为加权和小于-6或者大于6,梯度接近于0,会出现梯度消失的问题即使取值 [-6,6] ,…

头戴式蓝牙耳机性价比高的有哪些?四款高能性价比机型对比推荐

在当今科技日新月异的时代&#xff0c;头戴式蓝牙耳机已经成为了我们日常生活中不可或缺的一部分&#xff0c;无论是通勤路上、健身房内还是家中休闲时&#xff0c;一副优质的头戴式蓝牙耳机都能为我们带来沉浸式的听觉体验&#xff0c;那么头戴式蓝牙耳机性价比高的有哪些&…

模版结构体没有可用成员(C3203)

没有typedef模版结构体而导致。 并且_tables[index]无法访问HashData内部的成员。

Windows系统使用PHPStudy搭建Cloudreve私有云盘公网环境远程访问

文章目录 1、前言2、本地网站搭建2.1 环境使用2.2 支持组件选择2.3 网页安装2.4 测试和使用2.5 问题解决 3、本地网页发布3.1 cpolar云端设置3.2 cpolar本地设置 4、公网访问测试5、结语 1、前言 自云存储概念兴起已经有段时间了&#xff0c;各互联网大厂也纷纷加入战局&#…

Vue(13)——router-link

router-link vue-router提供了一个全局组件router-link(取代a标签) 能跳转&#xff0c;配置to属性指定路径&#xff08;必须&#xff09;。本质还是a标签。默认会提供高亮类名&#xff0c;可以直接设置高亮样式 右键检查&#xff0c;发现多了两个类&#xff1a; 可以直接写样式…

【Python】探索 Errbot:多功能聊天机器人框架

不是旅行治愈了你&#xff0c;是你在路上放过了自己。 在当今的数字化时代&#xff0c;聊天机器人已成为企业与客户互动、提升工作效率和增加乐趣的重要工具。Errbot是一个高度可扩展的聊天机器人框架&#xff0c;它允许开发者使用Python轻松创建和定制机器人。本文将介绍Errb…