- SciPy 教程
- SciPy - 首页
- SciPy - 简介
- SciPy - 环境搭建
- SciPy - 基本功能
- SciPy - 集群
- SciPy - 常量
- SciPy - FFTpack
- SciPy - 积分
- SciPy - 插值
- SciPy - 输入和输出
- SciPy - 线性代数 (Linalg)
- SciPy - N维图像处理 (Ndimage)
- SciPy - 优化 (Optimize)
- SciPy - 统计 (Stats)
- SciPy - 压缩稀疏图 (CSGraph)
- SciPy - 空间
- SciPy - 正交距离回归 (ODR)
- SciPy - 特殊函数包 (Special Package)
- SciPy 有用资源
- SciPy - 参考
- SciPy - 快速指南
- SciPy - 有用资源
- SciPy - 讨论
SciPy - find() 方法
SciPy 的 find() 方法用于查找满足给定条件的数组元素索引。也可以说,此方法返回包含给定字符串的 **物理常数** 键列表。
在 **NumPy** 中,find() 方法与 **nonzero()** 和 **where()** 类似。以下是这些方法的描述:
- **nonzero()**: 返回数组中非零元素的索引。
- **where()**: 此方法根据输入数组元素的索引满足给定条件。
语法
以下是 SciPy **find()** 方法的语法:
find(key)
参数
此函数只接受一个参数:
- **key**: key 是一个充当字符串的物理常数。
返回值
它有两种情况:
- 根据特定模块返回结果。
- 返回物理常数的结果。
示例 1
以下示例说明了 SciPy **find()** 方法的用法。
from scipy.constants import find, physical_constants result = find('boltzmann') print(result)
输出
以上代码产生以下结果:
['Boltzmann constant', 'Boltzmann constant in Hz/K', 'Boltzmann constant in eV/K', 'Boltzmann constant in inverse meter per kelvin', 'Stefan-Boltzmann constant']
示例 2
这里,我们使用另一个物理常数作为字符串参数来显示结果。
from scipy.constants import find, physical_constants result = find('radius') print(result)
输出
以上代码产生以下结果:
['Bohr radius', 'classical electron radius', 'deuteron rms charge radius', 'proton rms charge radius']
示例 3
这里,我们创建一个稀疏矩阵来填充行和列的数据,并使用 find() 获取非零元素的行索引、列索引和值。
稀疏矩阵是一种包含大部分为 0 值的矩阵。因此,这种矩阵通常用于机器学习领域,它可以节省计算时间和存储空间。
import numpy as np from scipy.sparse import csr_matrix, find # Create a sparse matrix A = csr_matrix([[0, 0, 1], [1, 0, 0], [0, 2, 0]]) row, col, data = find(A) print("The row indices of non-zero elements:", row) print("The column indices of non-zero elements:", col) print("The values of non-zero elements:", data)
输出
以上代码产生以下结果:
The row indices of non-zero elements: [0 1 2] The column indices of non-zero elements: [2 0 1] The values of non-zero elements: [1 1 2
scipy_reference.htm
广告