当前位置: 首页 > ai >正文

第五天的尝试

目录


一、每日一言

二、练习题

三、效果展示

 四、下次题目 

五、总结 


 一、每日一言

毅力是永久的享受。

没有人是一座孤岛,每个人都是这块大陆的一部分。

二、练习题

import numpy as np
import matplotlib.pyplot as plt
array = np.array([1,2,3,4,5])
plt.plot(array)

一、NumPy 到底是什么?

简单来说,NumPy 是一个专门为数值计算而设计的 Python 库 ,它的全称是 “Numerical Python”。你可以把它想象成一个超级强大的“数学工具箱”,专门用来处理大量的数字数据。

它不像 Excel 那样可视化,也不像 Word 那样写文档,但它能做的事情却非常强大:

  • 快速处理成千上万甚至上亿个数字
  • 高效地进行矩阵运算(比如图像、声音等数据)
  • 为其他高级数据分析库打下坚实的基础

 二、为什么 Python 原生的数据结构不够用?

Python 自带了一些数据结构,比如列表(list)、元组(tuple)和字典(dict)。它们确实很好用,但在处理大量数据时就显得有些“力不从心”了。

举个例子:

假设你要对一百万个数字进行加减乘除运算,如果使用 Python 的 list,你需要一个个遍历,效率很低;而 NumPy 提供了一种叫做 数组(array) 的结构,可以直接对整个数组进行操作,而且底层是用 C 语言写的,速度更快、内存更省

这就像骑自行车和开汽车的区别:虽然都能前进,但面对长距离任务时,效率差得可不是一点点。


三、NumPy 的核心:数组(Array)

说到 NumPy,就不得不提它的核心数据结构 —— 数组(ndarray)

1. 什么是 ndarray?

ndarray 全称是 N-dimensional array(N维数组) ,它可以表示一维、二维、三维甚至更高维度的数据。

  • 一维数组:像是一个数字组成的队列,比如 [1, 2, 3, 4]
  • 二维数组:就像是表格或者矩阵,有行也有列
  • 三维及以上:可以看作是多个二维数组堆叠起来的“立方体”

2. 数组的优势

  • 统一类型 :每个元素必须是相同的数据类型(比如全是整数或浮点数),这样计算机更容易处理。
  • 支持向量化运算 :你可以一次性对整个数组进行加减乘除,不需要一个个去循环。
  • 高效存储 :比 Python 原生的 list 更节省内存空间。

 四、NumPy 能帮我们做什么?

虽然我们不写代码,但我们可以通过一些生活化的场景来理解 NumPy 的应用价值。

场景一:成绩统计

假设你是一位老师,手里有一班学生的考试成绩。你想知道平均分是多少,谁考得最好,谁需要补考。

这时候 NumPy 就派上用场了。它能快速帮你算出这些信息,不需要你一个一个加起来再除以人数。

场景二:图片处理

一张照片本质上就是由像素组成的二维数组。每个像素点都有颜色值,比如红、绿、蓝三个通道的数值。

通过 NumPy,我们可以轻松地对这张图片进行旋转、裁剪、调整亮度等操作。

场景三:模拟实验

如果你想研究天气变化趋势、股票价格波动、用户行为模式,通常都需要生成大量随机数据来进行模拟。

NumPy 提供了丰富的函数来生成各种分布的数据,比如正态分布、均匀分布等等。


 五、NumPy 和其他库的关系

NumPy 并不是“孤军奋战”,它是很多高级数据分析库的基础:

库名

功能

依赖

Pandas

表格型数据处理

基于 NumPy

Matplotlib

绘图

使用 NumPy 数据

Scikit-learn

机器学习

输入输出都是 NumPy 数组

TensorFlow / PyTorch

深度学习

内部数据结构类似 NumPy

 一、Matplotlib 到底是什么?
简单来说:

Matplotlib 是 Python 中用于绘制图表和图形的库,它的核心功能是将数据转化为图像。 

你可以把它想象成一个“画布” + “画笔”的组合,你告诉它你想画什么数据,它就帮你把数据“画出来”。

比如:

把销售数据画成折线图
把人口分布画成柱状图
把气温变化画成散点图
这些都能通过 Matplotlib 来完成。

二、为什么我们需要数据可视化?
我们先思考一个问题:

如果给你一张 Excel 表格,里面有上万行数据,你能一眼看出趋势吗? 

答案大概是:很难。

但如果我们把同样的数据画成一条曲线图或者柱状图,你的大脑就能立刻捕捉到关键信息,比如:

哪个季度销售额最高?
哪个月增长最快?
哪些数据点出现了异常?
这就是数据可视化的力量 —— 它让复杂的数据变得直观、易懂、有说服力 。

而 Matplotlib,就是 Python 中最早、最经典的实现方式之一。

三、Matplotlib 能做什么?
虽然我们不讲代码,但我们可以通过几个实际的应用场景来理解 Matplotlib 的能力。

场景一:分析销售趋势
假设你是公司市场部的一员,手里有一年的销售数据。你想知道哪几个月卖得最好,有没有季节性波动。

这时候你可以用 Matplotlib 绘制一个折线图 ,清晰地看到全年走势。

场景二:对比不同产品的销量
你想比较 A、B、C 三个产品哪个卖得最好,这时候就可以用 Matplotlib 绘制一个柱状图 ,一眼看出谁领先。

场景三:研究两个变量之间的关系
比如你发现天气越热,冰淇淋销量越高。你想看看这两者之间是不是真的有关系,这时候可以用 Matplotlib 画一个散点图 ,观察它们是否呈现某种规律。

场景四:查看数据的分布情况
比如你想知道学生考试成绩的分布是集中在高分段还是低分段,这时候可以画一个直方图(Histogram) ,快速了解整体分布特征。

四、Matplotlib 的设计思想
Matplotlib 的设计借鉴了 MATLAB 的绘图风格,它提供了一个层次分明、结构清晰的绘图系统 。

我们可以把它想象成一个“画布工厂”:

创建画布(Figure) :这是你整个图表的大背景。
添加子图(Axes) :就像在画布上划分出不同的区域,每个区域可以画不同的图。
绘制内容 :比如折线、点、柱子等。
添加标题、坐标轴标签、图例等 :让图表更完整、更有解释性。
这种模块化的设计,让它既能画简单的图,也能画复杂的多图组合。

三、效果展示

四、下次题目

详细讲一下Matplotlib的用处,和相关用法,还有官方文档。

五、总结

一切都是最好的安排


http://www.xdnf.cn/news/7352.html

相关文章:

  • 经典算法复习——快速模幂
  • 51单片机点亮一个LED介绍
  • C++ 函数对象、仿函数与 Lambda 表达式详解
  • 12.vue整合springboot首页显示数据库表-实现按钮:【添加修改删除查询】
  • 深入Java G1 GC调优:如何解决高延迟与吞吐量瓶颈
  • 嵌入式学习笔记 - STM32独立看门狗IWDG与窗口看门狗WWDG的区别
  • HTTPS实验室——TLS/TLCP一站式解决方案
  • C语言——深入理解指针(一)
  • rosbag使用记录
  • 搭建一个永久免费的博客
  • Java设计模式之组合模式:从入门到精通(保姆级教程)
  • Java 泛型详解
  • 黄仁勋Computex演讲:将于三季度推出下一代GB300系统,个人AI计算机DGX Spark已全面投产
  • 进程和线程有什么区别?多线程有什么优缺点?线程的创建方式有哪些?如何简单的使用线程?用户线程和守护线程有什么区别?start 和 run 方法有什么区别?
  • go 与面向对象编程(OOP)
  • 设置IDEA打开新项目使用JDK17
  • 【OpenCV基础2】图像运算、水印、加密、摄像头
  • 信号量基础入门:并发控制的核心概念
  • BGP选路
  • 常用ECSQL整理
  • ‌AT6558R-5N22北斗B1I单频导航芯片
  • 《深入理解数组名:sizeof(arr)、arr 和 arr 的区别》
  • 三种嵌入式开发常用的组网方式
  • 【C++】C++的IO流
  • 青岛地铁二号线列车运行图优化系统
  • AIGC与文本生成:人工智能写作的新纪元
  • Adminer:一个基于Web的轻量级数据库管理工具
  • Python | 需求预测模型
  • 使用 docker-volume-backup 备份 Docker 卷
  • plc基础知识整理(三菱)