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.xdnf.cn/news/146856.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Qt圆角窗口

Qt圆角窗口 问题:自己重写了一个窗口,发现用qss设置圆角了,但是都不生效,不过子窗口圆角都生效了。 无边框移动窗口 bool eventFilter(QObject *watched, QEvent *evt) {static QPoint mousePoint;static bool mousePressed f…

群晖Docker如何修改配置文件(ContainerManager)

群晖Docker与其他linux操作系统的docker启动方式存在差异,默认的Docker配置文件位置也不一样。所以本章教程,主要介绍如何找到群晖Docker下的默认配置文件。 一、登录SSH 为了方便操作,需要开启SSH,并通过SSH链接到群晖NAS主机。登录之后,切换到root用户 sudo -i二、编辑配…

车载测试项目实操学习:CAN通信测试、UDS诊断测试、自动化测试、功能安全测试、CAN一致性测试、HIL测试:9-20

FOTA模块中OTA的知识点:1.测试过程中发现哪几类问题? 可能就是一个单键的ecu,比如升了一个门的ecu,他的升了之后就关不上,还有就是升级组合ecu的时候,c屏上不显示进度条。 2.在做ota测试的过程中&#xff…

企业文档管理系统哪个好?2024年热门的10款文档管理系统软件推荐

在信息化时代,企业每天都会生成海量的文档、数据和资料。 如何有效管理这些文档,确保信息安全、版本控制和协同办公顺畅,是每个企业都必须面对的挑战。 2024年,随着技术的不断进步,市场上涌现出了众多优秀的文档管理…

Selenium自动化测试环境搭建详解

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 本主要介绍以Java为基础,搭建Selenium自动化测试环境,并且实现代码编写的过程。 1、Selenium介绍 Selenium 1.0 包含 core、IDE、RC、gri…

C++进阶 set和map讲解

set 和 map set 和 multiset set set 类的介绍 set 是基于红黑树实现的有序容器。它的插入、删除、查找操作的时间复杂度均为 O(log n)。遍历时,set 的迭代器按照中序遍历,因此它总是以升序排列元素。 set 的声明如下,T 表示 set 的关键字类…

Kubernetes集群部署(kubernetes)

三台主机恢复到docker快照状态; 检查驱动器类型为sytemd; 设置各个节点的主机名; 然后同步会话,修改hosts文件; 在k8s运行过程中不建议使用交换分区; 关闭交换分区; 但是这种方法是临时性的&am…

JavaSE--零基础的开始笔记02:基础语法--标识符,关键字,变量

一.标识符 Java 语言中,对各种变量、方法和类等要素命名时使用的字符序列称为标识符。 Java 标识符有如下命名规则: 标识符由字母、下划线“_” 、美元符“$”或数字组成。 标识符应以字母、下划线 、美元符开头。 Java 标识符大小写敏感&#xff0c…

【Linux笔记】虚拟机内Linux内容复制到宿主机的Window文件夹(文件)中

一、共享文件夹 I、Windows宿主机上创建一个文件夹 目录:D:\Centos_iso\shared_files II、在VMware中设置共享文件夹 1、打开VMware Workstation 2、选择需要设置的Linux虚拟机,点击“编辑虚拟机设置”。 3、在“选项”标签页中,选择“共…

初识模版!!

初识模版 1.泛型编程1.1 如何实现一个交换函数呢(使得所有数据都可以交换)?1.2 那可以不可以让编译器根据不同的类型利用该模子来生成代码呢? 2.模版类型2.1 模版概念2.2 函数模版的原理2.3 函数模板的实例化2.4 模板参数的匹配原…

【C++初阶】探索STL之——String类的模拟实现

【C初阶】String类的模拟实现 1.string类2.string类的构造和赋值实现3.类的析构实现4.类的iterator5.类的修改(Modify)实现6.类的capacity实现7.类access的实现8.类relational operators的实现9.类find、insert、erase的实现10.operator>>和operat…

官方力荐:LDR6020 PD技术,让Type-C接口充放OTG不再是梦!

PD(Power Delivery)芯片赋能Type-C接口:解锁充电与数据传输的双重魔法 一、PD芯片的科技内核 高速充电与智能数据传输: PD芯片深谙USB Power Delivery规范,支持高功率传输协议,实现快速充电的同时&#x…

数据中台过时了?为什么现在都在说数据飞轮

数据中台作为一种集中式的数据管理与服务平台,在解决企业数据管理困境中发挥着重要作用,如数据孤岛、数据标准化、数据共享与复用等问题。通过统一的数据采集、处理、存储和服务,数据中台构建了一个全局性的数据枢纽,满足各业务部…

【YOLO目标检测道路交通标识数据集】共2838张、已标注txt格式、有训练好的yolov5的模型

目录 说明图片示例 说明 数据集格式:YOLO格式 图片数量:2838 标注数量(txt文件个数):2838 标注类别数:56 标注类别名称: mand_straight forb_right prio_priority_road info_crosswalk forb_weight_over_3.5t inf…

亿发工单系统:让任务风平浪静

在现代企业的日常运营中,工单管理系统已经成为必不可少的工具,无论是生产制造、IT运维,还是客服支持,工单系统的存在都是为了高效处理任务、跟踪进展、分配资源。然而,现实中的工单管理,往往不是“风平浪静…

【FPGA】编程方式

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

Cocos Creator3.x设置动态加载背景图并且循环移动

效果图 项目结构 项目层级结构: 预制: 代码 import { _decorator, CCFloat, Component, Node, Sprite, instantiate, Prefab, assert } from cc; const { ccclass, property } _decorator;/*** 背景脚本*/ ccclass(Background) export class Backg…

【Verilog学习日常】—牛客网刷题—Verilog快速入门—VL19

使用3-8译码器①实现逻辑函数 描述 下表是74HC138译码器的功能表. E3 E2_n E1_n A2 A1 A0 Y0_n Y1_n Y2_n Y3_n Y4_n Y5_n Y6_n Y7_n x 1 x x x x 1 1 1 1 1 1 1 1 x x 1 x x x 1 1 1 1 1 1 1 1 0 x x x x x 1 1 1 1 1 …

机器学习之实战篇——图像压缩(K-means聚类算法)

机器学习之实战篇——图像压缩(K-means聚类算法) 0. 文章传送1.实验任务2.实验思想3.实验过程 0. 文章传送 机器学习之监督学习(一)线性回归、多项式回归、算法优化[巨详细笔记] 机器学习之监督学习(二)二元逻辑回归 …

模板初阶

目录 1. 泛型编程 2. 函数模板 2.1 函数模板概念 2.2 函数模板格式 2.3 函数模板的原理 2.4 函数模板的实例化 2.5 模板参数的匹配原则 3. 类模板 3.1 类模板的定义格式 3.2 类模板的实例化 1. 泛型编程 如何实现一个通用的交换函数呢? void Swap(int& left, …