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

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

相关推荐
落落鱼20133 分钟前
CentOS服务器安装Supervisor使队列可以在后台运行
linux·服务器·centos·队列
KaneLogger3 分钟前
赛博保姆出列!Gemini CLI & Claude Code + Kimi 手把手教程
人工智能·程序员
liuyunshengsir9 分钟前
执行shell 脚本 如何将日志全部输出到文件
linux
三天不学习13 分钟前
Python 进阶学习之全栈开发学习路线
开发语言·python·学习
曲幽21 分钟前
Python字符串处理技巧全解析
python·split·replace·find·str·getstring
Dontla28 分钟前
Postgres介绍(PostgreSQL)(开源对象关系型数据库管理系统)(与Mysql对比)
数据库·postgresql·开源
noravinsc28 分钟前
lustre设置用户配额
linux·运维·服务器·文件系统·lustre
天天摸鱼的java工程师34 分钟前
每天导入100万数据导致数据库死锁?
java·后端·面试
且行好事莫问前程37 分钟前
AFFiNE开源知识管理和协作平台的部署,替代Notion不是梦~
笔记·开源·notion·affine