查看原文
其他

Numpy —— 一个性能超强的数据处理 Python 库

晓飞的李 管窥程序 2024-03-29

有趣的 Python 库之旅,第 45



在数据科学的海洋中,有一艘名为 Numpy 的战舰,它以数学运算的利刃、高效的矩阵处理能力,在科学计算的波涛中破浪前行。

想象一下,当你站在数据分析的前沿,需要快速而精确地操作大规模数组时,Python  原生列表好似只是一把小木刀,在海量数据面前显得力不从心。

而此时,Numpy  如同一柄钢铁长剑,助你横扫数据难题,轻松处理任意维度的数组。

从简单的数组级运算到复杂的科学计算,从线性代数到傅里叶变换,Numpy  都能提供强大的支持,成为每一位数据科学家不可或缺的利器。

Numpy  是什么?

Numpy(Numeric Python 的缩写)是一个开源的  Python  科学计算库。

它提供了一个强大的 N 维数组对象,令科学计算变得异常高效和方便。

不仅如此,Numpy  还具备广播功能的复杂函数,以及用于整合 C、C++以及 Fortran 代码的工具。对

于那些需要进行线性代数、傅立叶变换或生成随机数的任务,Numpy  也提供了便利的功能。

在性能上,Numpy  明显优于  Python  内置的列表。

列表可能很易用,但 Numpy  的数组可以更加高效地存储和操作大型数据集。

它的竞争对手包括其他高效的科学计算库如  SciPy  和 Pandas,这些也是数据分析中不可或缺的工具,其中部分库的功能建立在 Numpy 的基础之上。

无论是在大数据领域、机器学习还是在深度学习的激流中,Numpy  总能提供强大的支持,助你于数据的洪流中乘风破浪。

项目地址:https://numpy.org/

Numpy  的安装

虽然  Python  自带了许多强大的库,但  Numpy  并不包含在内,因此需要我们单独安装。

幸运的是,安装过程非常简单,只需一条命令:

pip install numpy

在安装时,确保你的  Python  版本支持  Numpy。

当前,Numpy  支持的  Python  版本为  Python 3.x 的主流版本,确保你的  Python  环境是最新的,以便享受到  Numpy  最好的体验。

Numpy  的基本功能

Numpy 的核心功能无疑是其多维数组对象——ndarray。与  Python  列表相比,ndarray 在进行大规模数值运算时更加高效、便捷。

import numpy as np

# 创建一个简单的一维数组 
array_1d = np.array([1234])
print(array_1d)

# 创建一个二维数组 
array_2d = np.array([[123], [456]])
print(array_2d)

数组运算

Numpy  的数组运算非常强大,它可以让我们执行元素级别的运算,以及复杂的矩阵运算。

# 元素级别的运算,所有元素都乘以 2
print(array_1d * 2)

# 矩阵乘法 
print(np.dot(array_2d, array_2d.T))  # .T 表示矩阵的转置

切片和索引

你可以对  Numpy  数组进行切片和索引操作,以便提取或修改数据的特定部分。

# 获取第二行的所有数据 
print(array_2d[1])

# 获取第一列的所有数据 
print(array_2d[:, 0])

Numpy  的进阶用法

Numpy  还提供更多高级功能,以满足那些需要进行更复杂数学运算的场景。

线性代数

Numpy  提供了一整套线性代数运算工具,通过这些工具,你可以解决系统方程组、计算向量的内积、外积、进行矩阵分解等。

# 线性代数模块 
from numpy import linalg as LA

# 计算矩阵的行列式 
det = LA.det(array_2d)
print(det)

详细说明和使用,请参考Numpy 官方文档[1].

与Numpy 共舞

想要掌握  Numpy,最好的方式莫过于实际操作。你可以尝试以下练习:

  1. 创建一个  3x3  的单位矩阵。
  2. 计算两个数组的交叉乘积。
  3. 尝试进行矩阵的特征值和特征向量计算。

这些实践会帮助你更好地理解数组操作和矩阵运算,为进一步的学习打下坚实基础。

总结

Numpy  无疑是  Python  最受欢迎的科学计算库之一。

它强大、灵活、高效,是数据分析和机器学习领域的得力助手。

无论你是数据科学的新手,还是经验丰富的专家,Numpy  总能在你的编程工具箱中占有一席之地。

希望通过这篇文章,你能对  Numpy  有一个基本的认识,以及如何开始使用它进行科学计算。

参考资料
[1]

官方文档: https://numpy.org/doc/

作者水平有限,文中难免存在一些疏漏或错误,欢迎反馈、指正,感谢支持!

回复 源码 获取文中代码。


你可能错过了这些:

Tqdm —— 一个拒绝无聊的 Python 库

Rich —— 一个让程序更高级的 Python 库

Pendulum —— 一个专业的 Python 库

Cocos2d —— 一个能实现梦想的 Python 库
Pygame —— 一个好玩的游戏 Python 库
Watchdog —— 一条忠诚的 Python 狗(库)
Faker —— 一个超实用的 Python 库
Newspaper3k —— 一个神奇的 Python 库
Path —— 原来还可以这么玩!
Pangu —— 一个美化中文排版的工具
CherryPy —— 一个极简的 Python 库
docopt —— 一个优雅 且必会的 Python 库

关注我👇,加★星标★,精彩不再错过
继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存