跳至主要内容

Python 中的 NumPy 库

NumPy Library in Python

NumPy,Numerical Python 的缩写,是 Python 中用于高性能科学计算和数据分析的基本包。它提供了一个名为 ndarray 的高效多维数组对象,该对象允许进行快速的数组导向算术计算。除了其核心数组对象之外,NumPy 还提供了广泛的数学 函数,用于对这些 数组 执行操作,从基本的线性代数和统计操作到复杂的傅里叶变换。通过提供高效操作大型数据集的工具,NumPy 成为大量科学和工程应用的支柱,使其成为研究人员、数据科学家和任何参与数据密集型计算的人员不可或缺的工具。凭借其强大、灵活和快速的特点,NumPy 已成为 Python 科学计算生态系统中的基石,与其他库和平台很好地交互,为数值计算提供了强大的环境。

Python 中的 numpy 是什么

Numpy,代表 Numerical Python,是 Python 中科学计算环境的组成部分。它是一个库,为数组提供支持,并提供丰富的数学函数来对这些数组执行各种操作。Python 中的 numpy 库因其效率和功能而广泛用于数据分析、机器学习和工程。它旨在处理大型多维数组和矩阵,使其成为在数据密集型领域工作的开发人员和研究人员不可或缺的工具。

Numpy 的重要性

Python 中的 numpy 库提供了使其成为数值计算必不可少的几个特性

  1. 高性能多维数组对象:与传统的 Python 列表相比,Numpy 数组更紧凑、更快速,并且更适合数学运算。
  2. 广泛的数学函数集合:这些函数允许对数组进行高效操作,而无需显式循环。
  3. 数组广播功能:Numpy 可以在算术运算期间处理不同形状的数组,从而使代码更简洁、更快速。
  4. 用于集成 C/C++ 和 Fortran 代码的工具:可以轻松地将编译代码直接合并到 Python 应用程序中,以获得更高的速度。

注意:Numpy 强大的数据结构和计算工具是 Pandas、Matplotlib、SciPy 和 scikit-learn 等库构建的基础。

如何开始使用 numpy

安装 NumPy

要在 Python 项目中开始使用 NumPy,第一步是 安装 numpy。可以使用各种包管理器安装 NumPy,但最常见和最直接的方法是通过 Python 的包安装程序 pip。以下是 如何在 python 中安装 numpy 的分步指南

  1. 打开命令行或终端。
  2. 键入以下命令并按 Enter
pip install numpy

此命令从 PyPI(Python 包索引)获取 NumPy 包并将其安装在 Python 环境中。

注意:确保更新 pip 以避免任何安装问题。可以使用 pip install --upgrade pip 命令更新 pip。

如何在 Python 中导入 NumPy

一旦 numpy 下载并安装完成,你需要将其 import 到 Python 脚本中以开始使用其功能。以下是如何操作

import numpy as np

使用 np 作为 NumPy 的别名是一种广泛接受的惯例,它有助于保持代码的简洁性和可读性。

使用 NumPy

在安装并导入 NumPy 之后,你可以开始使用它来执行各种数值计算。以下是一些入门示例

np.array()

NumPy 中的基本操作之一是创建数组。使用 np.array() 函数来创建一个 NumPy 数组

import numpy as np
my_array = np.array([1, 2, 3, 4, 5])
print(my_array)

此代码将生成一个一维数组,其中包含 数字 1 到 5。

np.arange()

另一个生成数组的有用函数是 np.arange(),它创建具有规则递增值的数组。

import numpy as np
range_array = np.arange(0, 10, 2)
print(range_array)

此代码片段创建一个从 0 开始到(但不包括)10 的数组,步长为 2,结果为 [0, 2, 4, 6, 8]

NumPy 中的基本函数

NumPy 中提供了许多函数;以下是常用函数及其用途的简要概述。

函数 描述
np.array() 创建一个数组。
np.arange() 返回一个间隔均匀的数组。
np.zeros() 返回一个给定形状和类型的数组,填充为零。
np.ones() 返回一个给定形状和类型的数组,填充为一。
np.linspace() 返回一个在指定间隔上均匀分布的数字数组。

这些基本函数和示例为开始使用 NumPy 之旅提供了坚实的基础。随着你对这些操作越来越熟悉,你会发现 NumPy 是 Python 中进行数值计算的强大工具。

NumPy 中的数组

数组在 Python 中扮演着至关重要的角色,特别是对于数值计算,Numpy 库使之变得更加容易和高效。numpy 数组是一个值网格,所有值类型相同,并由非负整数元组索引。维数的数量是数组的秩;数组的形状是一个整数元组,给出数组沿每个维度的尺寸。

理解 NumPy 数组

Numpy 数组附带了许多内置属性,使其易于执行复杂计算。一些重要的属性总结在下表中

属性 描述
dtype 数组元素的数据类型
shape 数组的维度(行、列)
size 数组中的元素总数
ndim 数组的维度(或轴)数量

这些属性有助于理解 Numpy 数组处理的数据结构和类型,从而实现更高效、更有效的数据操作和分析。

创建 NumPy 数组

要开始使用 numpy 数组,首先需要 import Numpy 库。然后你可以将 python 列表转换为 numpy 数组或直接实例化它

import numpy as np

# Python list
my_list = [1, 2, 3]

# Converting Python list to numpy array
np_array = np.array(my_list)
print(np_array)

打印 numpy 数组

print 一个 numpy 数组,你可以简单地使用 Python print 函数

import numpy as np

# Defining a numpy array
np_array = np.array([1, 2, 3])

# Printing numpy array
print(np_array)

使用 NumPy append() 追加元素

向数组追加元素是一个常见操作。使用 numpy,你可以使用 np.append() 方法轻松地追加元素

import numpy as np

# Defining a numpy array
np_array = np.array([1, 2, 3])

# Appending an element to numpy array
new_np_array = np.append(np_array, [4])

print(new_np_array)

注意:np.append() 方法返回一个新数组。它不会改变原始数组。

使用 np.sum() 计算和

Numpy 提供了一种使用 np.sum() 方法计算数组中元素 sum 的便捷方法。这对于数值计算非常有用

import numpy as np

# Defining a numpy array
np_array = np.array([1, 2, 3, 4])

# Calculating the sum of array elements
sum = np.sum(np_array)

print(sum)

注意:np.sum() 非常强大,尤其是在与多维数组一起使用时,因为你可以沿着特定轴计算和。

常用的 NumPy 数组操作

为了快速参考,以下是部分最常用的 numpy 数组操作及其描述

操作 描述
np.array() 将 Python 列表转换为 numpy 数组。
np.append() 在数组末尾添加元素。
np.sum() 计算数组元素的 sum
print() 显示 numpy 数组。

总结要点

利用 numpy 数组操作,例如将 Python 列表 转换为 numpy 数组、追加元素和计算和,可以极大地提高 Python 中数据操作和数值计算的效率和性能。请记住 import Numpy 并利用这些内置函数以实现更有效的编码。

Numpy 矩阵

Numpy 是 Python 中科学计算的基础包。它为矩阵操作提供了一个强大的对象,这是数据科学和数学计算的一个基本方面。矩阵乘法是 Numpy 使之非常高效且易于执行的关键操作之一。

什么是 Numpy 矩阵

Numpy 矩阵是一个专门的 2D 数组,它在操作中保持其二维性质。它提供了各种矩阵操作方法,包括但不限于矩阵乘法、逆和转置。使用 Numpy 矩阵进行操作简化了语法并提高了复杂计算的性能。

矩阵乘法 Python Numpy

矩阵乘法,也称为点积,是线性代数中的一个基本操作。使用 Numpy 库的 Python 极大地简化了此过程。此操作的关键函数是针对二维数组的 numpy.dot(),但对于 Numpy 矩阵,您可以直接使用 * 运算符或 .dot() 方法。

如何执行矩阵乘法

  1. 使用 numpy.dot()

此函数用途广泛,可以处理矩阵和 2D 数组,提供点积。

import numpy as np

# Define two matrices
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])

# Perform matrix multiplication
C = np.dot(A, B)

print(C)
  1. 使用 * 运算符

在明确处理 Numpy 矩阵时,您可以直接使用 * 运算符进行矩阵乘法。

import numpy as np

# Define two matrices
A = np.matrix([[1, 2], [3, 4]])
B = np.matrix([[5, 6], [7, 8]])

# Perform matrix multiplication
C = A * B

print(C)

注意:尽管您可以对 Numpy 矩阵使用 * 运算符,但建议将 Numpy 数组与 np.dot()@ 运算符一起使用,以保持一致性并避免在未来 Numpy 版本中弃用矩阵类。

比较矩阵乘法方法

在使用 Numpy 的 Python 中进行矩阵乘法时,有几种方法可以达到相同的结果。在这些方法之间进行选择通常归结为偏好和具体用例。以下是简化的比较

方法 用法
numpy.dot() 推荐用于保持一致性,适用于数组和矩阵
* 运算符 语法简单,但仅适用于 Numpy 矩阵对象
.dot() 方法 执行点积的另一种选择

借助库提供的精心设计的函数和方法,使用 Python 和 Numpy 理解和执行矩阵乘法非常简单。无论您更喜欢使用 Numpy 矩阵的 * 运算符的简单性,还是更喜欢通用且推荐的 np.dot() 函数,Numpy 都可以使这些操作高效且易于集成到更大的数据处理或科学计算工作流中。

与我们合作!

不要犹豫,在 GitHub 上为 Python 教程做出贡献:创建一个分支,更新内容并发出拉取请求。

Profile picture for user AliaksandrSumich
Python 工程师,第三方 Web 服务集成专家。
更新时间:2024-05-03 - 21:53
Profile picture for user angarsky
已审阅并批准