学会使用 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,关注后即可获取最新文章推送

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

相关推荐
夏天测1 分钟前
Python 网络编程入门:从 Socket 底层到 HTTP 并发实战
python·socket·httpx·requests·tcp udp·python网络编程·爬虫基础
小高0077 分钟前
🔥🔥🔥TypeScript 7 正式版来了:别只看 10 倍速度,这 4 个迁移坑更值得注意
前端·javascript·面试
玉鸯21 分钟前
多 Agent 并行时如何保证状态一致性?
分布式·python·agent
IvorySQL23 分钟前
PostgreSQL 日报| GiST 索引扫描可见性缺陷(8 月 3 日)
数据库·人工智能·postgresql·开源
众人皆醒我独醉23 分钟前
KServe:Kubernetes 原生的模型推理平台——把 vLLM/TGI/Triton 变成 Serverless
人工智能·ci/cd·面试
studyrunner23 分钟前
【AI开源】reverse-skill 实战教程:为 Claude Code、Cursor、Cline、Codex 配置 AI 逆向与安全技能路由
人工智能·安全·开源
AIgorithmGEEK30 分钟前
Linux 权限管理:从「Permission Denied」到「畅行无阻」
linux·权限·chmod·粘滞位·umask·文件权限的构成
aGdF8E3gQ41 分钟前
【Application Insights】采样率对Function App日志收集的影响和解决方法
python·flask·wpf
BullSmall1 小时前
scanoss-engine 本地最简部署 & 扫描命令(Linux/Anolis OS)
linux·运维·服务器
ATMQuant1 小时前
以AI量化为生:25.vnpy 4.4升级实战 - 魔改版框架如何安全跟进上游
人工智能·python·量化交易·vnpy