学会使用 NumPy:基础、随机、ufunc 和练习测试

NumPy

NumPy 是一个用于处理数组的 Python 库。它代表"Numerical Python"。

基本

随机

ufunc

通过测验测试学习

检验您对 NumPy 的掌握程度。

通过练习学习

NumPy 练习

练习:

请插入创建 NumPy 数组的正确方法。

python 复制代码
arr = np.
([1, 2, 3, 4, 5])

示例

创建 NumPy 数组:

python 复制代码
import numpy as np

arr = np.array([1, 2, 3, 4, 5])

print(arr)
print(type(arr))

输出:

python 复制代码
[1 2 3 4 5]
<class 'numpy.ndarray'>

NumPy 简介

什么是 NumPy?

NumPy 是一个用于处理数组的 Python 库。它代表"Numerical Python"。它提供了一个称为 ndarray 的多维数组对象,以及用于操作这些数组的高效函数。NumPy 还提供了用于线性代数、傅里叶变换和矩阵领域的函数。

NumPy 由 Travis Oliphant 于 2005 年创建,是一个开源项目,可以免费使用。

为什么使用 NumPy?

在 Python 中,我们有列表来实现数组的功能,但是它们处理起来速度较慢。NumPy 旨在提供一个比传统 Python 列表快 50 倍的数组对象。NumPy 中的数组对象称为 ndarray,它提供了许多支持函数,使得与 ndarray 的操作非常简单。

在数据科学中,数组被非常频繁地使用,速度和资源非常重要。

数据科学:是计算机科学的一个分支,研究如何存储、使用和分析数据以从中获得信息。

为什么 NumPy 比列表快?

NumPy 数组在内存中是连续存储的,而不像列表那样存储不连续,因此进程可以非常高效地访问和操作它们。这种行为在计算机科学中称为局部性引用。

这就是 NumPy 比列表更快的主要原因。此外,它还经过优化以与最新的 CPU 架构配合工作。

NumPy 是用哪种语言编写的?

NumPy 是一个 Python 库,部分是用 Python 编写的,但大多数需要快速计算的部分是用 C 或 C++ 编写的。

NumPy 入门

安装 NumPy

如果您已经安装了 Python 和 PIP,则安装 NumPy 非常简单。

使用以下命令进行安装:

python 复制代码
C:\Users\Your Name>pip install numpy

如果此命令失败,则可以使用已经安装了 NumPy 的 Python 发行版,如 Anaconda、Spyder 等。

导入 NumPy

一旦安装了 NumPy,通过添加 import 关键字将其导入到您的应用程序中:

python 复制代码
import numpy

现在 NumPy 已经被导入并且可以使用了。

示例:

python 复制代码
import numpy

arr = numpy.array([1, 2, 3, 4, 5])

print(arr)

NumPy 的别名 np

通常,NumPy 被导入时会使用 np 别名。

别名:在 Python 中,别名是指同一个东西的另一个名称。

可以使用 as 关键字在导入时创建别名:

python 复制代码
import numpy as np

现在可以使用 np 来引用 NumPy 包,而不是使用 numpy

示例

python 复制代码
import numpy as np

arr = np.array([1, 2, 3, 4, 5])

print(arr)

检查 NumPy 版本

NumPy 版本信息存储在 __version__ 属性中。

示例

python 复制代码
import numpy as np

print(np.__version__)

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎点赞、收藏、关注

相关推荐
雪隐2 分钟前
个人电脑玩AI-06让5060 Ti给你打工——不光能画画,Qwen3-TTS还能学人说话,连我老板都信了!
人工智能·后端·python
AskHarries10 分钟前
Plugin 基础:把 Skill、MCP 和前端能力打包
程序员
小月土星24 分钟前
JavaScript 快速排序:从 pivot、双指针到分治思想
javascript·算法·面试
沉默王二27 分钟前
Agent底层原理连问8道,从ReAct到记忆压缩,PaiCLI项目实战拆解
面试·agent·ai编程
小月土星30 分钟前
JavaScript 递归入门:从 1 到 n 求和,再到数组扁平化
javascript·算法·面试
蝎子莱莱爱打怪31 分钟前
那不是我的黑历史,那是我的来时路啊!😭😭
后端·程序员
蝎子莱莱爱打怪39 分钟前
XZLL-IM干货系列 04|Netty 长连接实战:Pipeline 怎么排、心跳怎么跳、连接怎么管
后端·微服务·面试
SimonKing1 小时前
铁子,IntelliJ IDEA 2026.1.3来了,升不升?
java·后端·程序员
修己xj7 小时前
Ian Xiaohei Illustrations:让 AI 为你画出文章的“认知锚点”
开源
兵慌码乱12 小时前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构