找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 148|回复: 3

numpy 介绍

[复制链接]

2

主题

2

回帖

12

积分

新手上路

积分
12
发表于 2024-12-10 09:21:10 | 显示全部楼层 |阅读模式
NumPy(Numerical Python)是 Python 编程语言的一个核心库,它为科学计算提供了支持。NumPy 提供了多维数组对象(ndarray)、各种派生对象(如掩码数组和矩阵),以及用于快速操作数组的函数,包括数学、逻辑、形状操作、排序、选择、输入/输出(I/O)、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等。
NumPy 的主要特点
  • 强大的 N 维数组对象 ndarray:
    • 这是 NumPy 最重要的特性之一,ndarray 是一个固定类型的多维数组,所有元素必须是相同的数据类型,这使得它比 Python 内置的列表更加高效。
    • 支持大量的维度和大小,并且具有矢量化操作的能力,可以显著提高性能。
  • 广播功能:
    • 广播是一种强大的机制,允许不同形状的数组之间进行算术运算,而无需复制数据或创建额外的内存副本。
  • 集成 C/C++ 和 Fortran 代码:
    • NumPy 可以轻松地与用 C、C++ 或 Fortran 编写的外部库接口,从而扩展其功能并提升性能。
  • 线性代数、傅立叶变换和随机数生成:
    • 提供了丰富的数学函数库,能够执行矩阵运算、求解线性方程组、特征值问题、奇异值分解等;还支持快速傅里叶变换和高质量的伪随机数生成器。
  • 高效的数组操作:
    • 包含大量内置函数用于数组的操作,例如索引、切片、迭代、重塑、连接、分割等,这些操作通常比纯 Python 实现更加快速。
  • 兼容性和互操作性:
    • NumPy 数组可以用作其他库(如 SciPy、Pandas、Matplotlib 等)的基础数据结构,确保了良好的兼容性和互操作性。


回复

使用道具 举报

2

主题

2

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2024-12-10 09:22:23 | 显示全部楼层
安装 NumPy
可以通过 pip 工具安装 NumPy:
[backcolor=var(--TY-Fill-0)][color=var(--TY-Text-1)][backcolor=var(--TY-Fill-3)]bash[color=var(--TY-Text-2)]深色版本


pip install numpy

对于 Anaconda 发行版用户,NumPy 已经默认包含在内,可以直接使用。
使用 NumPy 的简单示例[backcolor=var(--TY-Fill-0)][color=var(--TY-Text-1)][backcolor=var(--TY-Fill-3)]python[color=var(--TY-Text-2)]深色版本


import numpy as np# 创建一个简单的 1D 数组a = np.array([1, 2, 3])# 创建一个多维数组b = np.array([[1, 2, 3], [4, 5, 6]])# 获取数组的形状print("Shape of array b:", b.shape)# 计算两个数组的点积c = np.dot(a, b[0])  # a 和 b 的第一行相乘print("Dot product of a and first row of b:", c)# 使用广播机制将标量加到每个元素上d = a + 5print("Adding scalar to each element in a:", d)

回复

使用道具 举报

2

主题

2

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2024-12-10 09:23:27 | 显示全部楼层
NumPy 在科学计算中的地位
NumPy 是许多其他 Python 科学计算工具的基础,例如 SciPy(用于高级科学和技术计算)、Pandas(用于数据分析)、Matplotlib(用于绘图)。它是 Python 数据科学生态系统中不可或缺的一部分,广泛应用于机器学习、深度学习、图像处理等领域。由于其高性能和易用性,NumPy 成为了从事数值计算工作的科学家、工程师和开发者首选的工具之一。

点评

好  发表于 2024-12-10 09:32
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表