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

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

相关推荐
ZL不懂前端15 分钟前
Content Security Policy (CSP)
前端·javascript·面试
小码的头发丝、17 分钟前
Django中ListView 和 DetailView类的区别
数据库·python·django
测试界萧萧1 小时前
外包干了4年,技术退步太明显了。。。。。
自动化测试·软件测试·功能测试·程序人生·面试·职场和发展
孤客网络科技工作室1 小时前
VMware 虚拟机使用教程及 Kali Linux 安装指南
linux·虚拟机·kali linux
Chef_Chen1 小时前
从0开始机器学习--Day17--神经网络反向传播作业
python·神经网络·机器学习
百事老饼干1 小时前
Java[面试题]-真实面试
java·开发语言·面试
customer081 小时前
【开源免费】基于SpringBoot+Vue.JS医院管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·开源·intellij-idea
千澜空1 小时前
celery在django项目中实现并发任务和定时任务
python·django·celery·定时任务·异步任务
斯凯利.瑞恩2 小时前
Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户附数据代码
python·决策树·随机森林