SciPy 1.12 中文文档(五)
SciPy 的主要命名空间
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/main_namespace.html
scipy 的主命名空间设计上仅包含很少的对象。只显示与测试、构建信息和版本控制相关的通用功能,以及一个类(LowLevelCallable(function[, user_data, ...]) | 低级回调函数。 |
|---|---|
show_config([mode]) | 显示构建和使用 SciPy 的库和系统信息 |
test | 运行此命名空间的测试 |
唯一的公共属性是:
__version__ | SciPy 版本字符串 |
|---|
子模块
cluster | 聚类功能 |
|---|---|
constants | 物理和数学常数及单位 |
datasets | 载入 SciPy 数据集 |
fft | 离散 Fourier 及相关变换 |
fftpack | 离散 Fourier 变换(遗留) |
integrate | 数值积分和常微分方程组 |
interpolate | 插值 |
io | 科学数据格式读写 |
linalg | 线性代数功能 |
misc | 实用程序例程(已弃用) |
ndimage | N 维图像处理和插值 |
odr | 正交距离回归 |
optimize | 数值优化 |
signal | 信号处理 |
sparse | 稀疏数组、线性代数和图算法 |
spatial | 空间数据结构和算法 |
special | 特殊函数 |
stats | 统计函数 |
scipy.LowLevelCallable
class scipy.LowLevelCallable(function, user_data=None, signature=None)
低级回调函数。
SciPy 中的某些函数接受回调函数作为参数,这些函数可以是 Python 可调用对象或低级编译函数。使用编译的回调函数可以通过避免将数据包装在 Python 对象中来提高性能。
SciPy 中这种低级函数被包装在LowLevelCallable对象中,可以从 ctypes、cffi、Cython 获取的函数指针或包含在 Python PyCapsule对象中构造。
参见
接受低级可调用函数的函数:
scipy.integrate.quad, scipy.ndimage.generic_filter, scipy.ndimage.generic_filter1d, scipy.ndimage.geometric_transform
使用示例:
在 C 中扩展 scipy.ndimage, 使用低级回调函数加速积分
参数:
function{PyCapsule, ctypes 函数指针, cffi 函数指针}
低级回调函数。
user_data{PyCapsule, ctypes 空指针, cffi 空指针}
要传递到回调函数的用户数据。
signaturestr, 可选
函数的签名。如果省略,将从function中确定,如果可能的话。
注意
参数function可以是以下之一:
-
包含 C 函数签名的 PyCapsule
-
ctypes 函数指针
-
cffi 函数指针
低级回调函数的签名必须与其传递到的例程所期望的签名之一匹配。
如果从 PyCapsule 构造低级函数,则胶囊的名称必须是相应签名,格式为:
return_type (arg1_type, arg2_type, ...)
例如:
"void (double)"
"double (double, int *, void *)"
如果未显式提供user_data的值,则使用作为function传入的 PyCapsule 的上下文作为user_data。
属性:
function
给定回调函数。
user_data
给定的用户数据。
signature
函数的签名。
方法
from_cython(module, name[, user_data, signature]) | 从导出的 Cython 函数创建低级回调函数。 |
|---|
scipy.show_config
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.show_config.html#scipy.show_config
scipy.show_config(mode='stdout')
显示构建和使用 SciPy 的库和系统信息
参数:
mode{‘stdout’, ‘dicts’},可选。
指示如何显示配置信息。‘stdout’ 输出到控制台,‘dicts’ 返回配置的字典。
返回:
out{dict, None}
如果 mode 是*‘dicts’*,则返回一个字典,否则返回 None
注意
- 如果安装了
pyyaml,‘stdout’ 模式将提供更可读的输出
scipy.test
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.test.html#scipy.test
scipy.test = <scipy._lib._testutils.PytestTester object>
运行此命名空间的测试
scipy.test() 运行 SciPy 的所有测试,使用默认设置。当从子模块使用时(例如 scipy.cluster.test()),仅运行该命名空间的测试。
参数:
label{‘fast’,‘full’},可选
是否仅运行快速测试,还是包括标记为慢速的测试。默认为 'fast'。
verboseint,可选
测试输出详细程度,默认为 1。
extra_argvlist,可选
传递给 Pytest 的参数。
doctestsbool,可选
是否运行 doctests,默认为 False。
coveragebool,可选
是否启用代码覆盖率测量运行测试。默认为 False。
tests字符串列表,可选
要运行测试的模块名称列表。默认情况下,使用调用 test 函数的模块。
parallelint,可选
使用 pytest-xdist 并行运行测试,如果给定的数字大于 1。默认为 1。
聚类包(scipy.cluster)
在信息理论、目标检测、通信、压缩及其他领域中,聚类算法非常有用。vq 模块仅支持向量量化和 k-means 算法。
hierarchy 模块提供了用于层次聚类和凝聚聚类的函数。其功能包括从距离矩阵生成层次聚类,计算聚类的统计信息,切断链接以生成平坦聚类,并通过树状图可视化聚类。
常数(scipy.constants)
物理和数学常数与单位。
数学常数
pi | 圆周率 Pi |
|---|---|
golden | 黄金比例 |
golden_ratio | 黄金比例 |
物理常数
c | 真空中光速 |
|---|---|
speed_of_light | 真空中光速 |
mu_0 | 磁常数 (\mu_0) |
epsilon_0 | 电常数(真空介电常数),(\epsilon_0) |
h | 普朗克常数 (h) |
Planck | 普朗克常数 (h) |
hbar | 约化普朗克常数 (\hbar = h/(2\pi)) |
G | 牛顿引力常数 |
gravitational_constant | 牛顿引力常数 |
g | 标准重力加速度 |
e | 元电荷 |
elementary_charge | 元电荷 |
R | 摩尔气体常数 |
gas_constant | 摩尔气体常数 |
alpha | 精细结构常数 |
fine_structure | 精细结构常数 |
N_A | 阿伏伽德罗常数 |
Avogadro | 阿伏伽德罗常数 |
k | 玻尔兹曼常数 |
Boltzmann | 玻尔兹曼常数 |
sigma | 斯特藩-玻尔兹曼常数 (\sigma) |
Stefan_Boltzmann | 斯特藩-玻尔兹曼常数 (\sigma) |
Wien | 维恩位移定律常数 |
Rydberg | 雷德伯常数 |
m_e | 电子质量 |
electron_mass | 电子质量 |
m_p | 质子质量 |
proton_mass | 质子质量 |
m_n | 中子质量 |
neutron_mass | 中子质量 |
常数数据库
除了上述变量外,scipy.constants 还包含 2018 年 CODATA 推荐值数据库 [CODATA2018] 中更多物理常数。
value(key) | 物理常数索引键的值 |
|---|---|
unit(key) | 物理常数单元,通过键索引 |
precision(key) | 物理常数索引键的相对精度 |
find([sub, disp]) | 返回包含给定字符串的物理常数键列表 |
ConstantWarning | 访问不再存在于当前 CODATA 数据集中的常数时的警告 |
scipy.constants.physical_constants
物理常数词典,格式为 physical_constants[name] = (value, unit, uncertainty)。
可用常数:
alpha particle mass | 6.6446573357e-27 kg |
|---|---|
alpha particle mass energy equivalent | 5.9719201914e-10 J |
alpha particle mass energy equivalent in MeV | 3727.3794066 MeV |
alpha particle mass in u | 4.001506179127 u |
alpha particle molar mass | 0.0040015061777 kg mol^-1 |
alpha particle relative atomic mass | 4.001506179127 |
alpha particle-electron mass ratio | 7294.29954142 |
alpha particle-proton mass ratio | 3.97259969009 |
Angstrom star | 1.00001495e-10 m |
atomic mass constant | 1.6605390666e-27 kg |
atomic mass constant energy equivalent | 1.4924180856e-10 J |
atomic mass constant energy equivalent in MeV | 931.49410242 MeV |
atomic mass unit-electron volt relationship | 931494102.42 eV |
atomic mass unit-hartree relationship | 34231776.874 E_h |
atomic mass unit-hertz relationship | 2.25234271871e+23 Hz |
atomic mass unit-inverse meter relationship | 751300661040000.0 m^-1 |
atomic mass unit-joule relationship | 1.4924180856e-10 J |
atomic mass unit-kelvin relationship | 10809540191600.0 K |
atomic mass unit-kilogram relationship | 1.6605390666e-27 kg |
atomic unit of 1st hyperpolarizability | 3.2063613061e-53 C³ m³ J^-2 |
atomic unit of 2nd hyperpolarizability | 6.2353799905e-65 C⁴ m⁴ J^-3 |
atomic unit of action | 1.054571817e-34 J s |
atomic unit of charge | 1.602176634e-19 C |
atomic unit of charge density | 1081202384570.0 C m^-3 |
atomic unit of current | 0.00662361823751 A |
atomic unit of electric dipole mom. | 8.4783536255e-30 C m |
atomic unit of electric field | 514220674763.0 V m^-1 |
atomic unit of electric field gradient | 9.7173624292e+21 V m^-2 |
atomic unit of electric polarizability | 1.64877727436e-41 C² m² J^-1 |
atomic unit of electric potential | 27.211386245988 V |
atomic unit of electric quadrupole mom. | 4.4865515246e-40 C m² |
atomic unit of energy | 4.3597447222071e-18 J |
atomic unit of force | 8.2387234983e-08 N |
atomic unit of length | 5.29177210903e-11 m |
atomic unit of mag. dipole mom. | 1.85480201566e-23 J T^-1 |
atomic unit of mag. flux density | 235051.756758 T |
atomic unit of magnetizability | 7.8910366008e-29 J T^-2 |
atomic unit of mass | 9.1093837015e-31 kg |
atomic unit of momentum | 1.9928519141e-24 kg m s^-1 |
atomic unit of permittivity | 1.11265005545e-10 F m^-1 |
atomic unit of time | 2.4188843265857e-17 s |
atomic unit of velocity | 2187691.26364 m s^-1 |
Avogadro constant | 6.02214076e+23 mol^-1 |
Bohr magneton | 9.2740100783e-24 J T^-1 |
Bohr magneton in eV/T | 5.788381806e-05 eV T^-1 |
Bohr magneton in Hz/T | 13996244936.1 Hz T^-1 |
Bohr magneton in inverse meter per tesla | 46.686447783 m^-1 T^-1 |
Bohr magneton in K/T | 0.67171381563 K T^-1 |
Bohr radius | 5.29177210903e-11 m |
Boltzmann constant | 1.380649e-23 J K^-1 |
Boltzmann constant in eV/K | 8.617333262e-05 eV K^-1 |
Boltzmann constant in Hz/K | 20836619120.0 Hz K^-1 |
Boltzmann constant in inverse meter per kelvin | 69.50348004 m^-1 K^-1 |
characteristic impedance of vacuum | 376.730313668 ohm |
classical electron radius | 2.8179403262e-15 m |
Compton wavelength | 2.42631023867e-12 m |
conductance quantum | 7.748091729e-05 S |
conventional value of ampere-90 | 1.00000008887 A |
conventional value of coulomb-90 | 1.00000008887 C |
conventional value of farad-90 | 0.9999999822 F |
conventional value of henry-90 | 1.00000001779 H |
conventional value of Josephson constant | 483597900000000.0 Hz V^-1 |
conventional value of ohm-90 | 1.00000001779 ohm |
conventional value of volt-90 | 1.00000010666 V |
conventional value of von Klitzing constant | 25812.807 ohm |
conventional value of watt-90 | 1.00000019553 W |
Cu x unit | 1.00207697e-13 m |
deuteron g factor | 0.8574382338 |
deuteron mag. mom. | 4.330735094e-27 J T^-1 |
deuteron mag. mom. to Bohr magneton ratio | 0.000466975457 |
deuteron mag. mom. to nuclear magneton ratio | 0.8574382338 |
deuteron mass | 3.3435837724e-27 kg |
deuteron mass energy equivalent | 3.00506323102e-10 J |
deuteron mass energy equivalent in MeV | 1875.61294257 MeV |
deuteron mass in u | 2.013553212745 u |
deuteron molar mass | 0.00201355321205 kg mol^-1 |
deuteron relative atomic mass | 2.013553212745 |
deuteron rms charge radius | 2.12799e-15 m |
deuteron-electron mag. mom. ratio | -0.0004664345551 |
deuteron-electron mass ratio | 3670.48296788 |
deuteron-neutron mag. mom. ratio | -0.44820653 |
deuteron-proton mag. mom. ratio | 0.30701220939 |
deuteron-proton mass ratio | 1.99900750139 |
electron charge to mass quotient | -175882001076.0 C kg^-1 |
electron g factor | -2.00231930436256 |
electron gyromag. ratio | 176085963023.0 s^-1 T^-1 |
electron gyromag. ratio in MHz/T | 28024.9514242 MHz T^-1 |
electron mag. mom. | -9.2847647043e-24 J T^-1 |
electron mag. mom. anomaly | 0.00115965218128 |
electron mag. mom. to Bohr magneton ratio | -1.00115965218128 |
electron mag. mom. to nuclear magneton ratio | -1838.28197188 |
electron mass | 9.1093837015e-31 kg |
electron mass energy equivalent | 8.1871057769e-14 J |
electron mass energy equivalent in MeV | 0.51099895 MeV |
electron mass in u | 0.000548579909065 u |
electron molar mass | 5.4857990888e-07 kg mol^-1 |
electron relative atomic mass | 0.000548579909065 |
electron to alpha particle mass ratio | 0.0001370933554787 |
electron to shielded helion mag. mom. ratio | 864.058257 |
electron to shielded proton mag. mom. ratio | -658.2275971 |
electron volt | 1.602176634e-19 J |
electron volt-atomic mass unit relationship | 1.07354410233e-09 u |
electron volt-hartree relationship | 0.036749322175655 E_h |
electron volt-hertz relationship | 241798924200000.0 Hz |
electron volt-inverse meter relationship | 806554.3937 m^-1 |
electron volt-joule relationship | 1.602176634e-19 J |
electron volt-kelvin relationship | 11604.51812 K |
electron volt-kilogram relationship | 1.782661921e-36 kg |
electron-deuteron mag. mom. ratio | -2143.9234915 |
electron-deuteron mass ratio | 0.0002724437107462 |
electron-helion mass ratio | 0.0001819543074573 |
electron-muon mag. mom. ratio | 206.7669883 |
electron-muon mass ratio | 0.00483633169 |
electron-neutron mag. mom. ratio | 960.9205 |
electron-neutron mass ratio | 0.00054386734424 |
electron-proton mag. mom. ratio | -658.21068789 |
electron-proton mass ratio | 0.000544617021487 |
electron-tau mass ratio | 0.000287585 |
electron-triton mass ratio | 0.0001819200062251 |
elementary charge | 1.602176634e-19 C |
elementary charge over h-bar | 1519267447000000.0 A J^-1 |
Faraday constant | 96485.33212 C mol^-1 |
Fermi coupling constant | 1.1663787e-05 GeV^-2 |
fine-structure constant | 0.0072973525693 |
first radiation constant | 3.741771852e-16 W m² |
first radiation constant for spectral radiance | 1.191042972e-16 W m² sr^-1 |
Hartree energy | 4.3597447222071e-18 J |
Hartree energy in eV | 27.211386245988 eV |
hartree-atomic mass unit relationship | 2.92126232205e-08 u |
hartree-electron volt relationship | 27.211386245988 eV |
hartree-hertz relationship | 6579683920502000.0 Hz |
hartree-inverse meter relationship | 21947463.13632 m^-1 |
hartree-joule relationship | 4.3597447222071e-18 J |
hartree-kelvin relationship | 315775.02480407 K |
hartree-kilogram relationship | 4.8508702095432e-35 kg |
helion g factor | -4.255250615 |
helion mag. mom. | -1.074617532e-26 J T^-1 |
helion mag. mom. to Bohr magneton ratio | -0.001158740958 |
helion mag. mom. to nuclear magneton ratio | -2.127625307 |
helion mass | 5.0064127796e-27 kg |
helion mass energy equivalent | 4.4995394125e-10 J |
helion mass energy equivalent in MeV | 2808.39160743 MeV |
helion mass in u | 3.014932247175 u |
helion molar mass | 0.00301493224613 kg mol^-1 |
helion relative atomic mass | 3.014932247175 |
helion shielding shift | 5.996743e-05 |
helion-electron mass ratio | 5495.88528007 |
helion-proton mass ratio | 2.99315267167 |
hertz-atomic mass unit relationship | 4.4398216652e-24 u |
hertz-electron volt relationship | 4.135667696e-15 eV |
hertz-hartree relationship | 1.519829846057e-16 E_h |
hertz-inverse meter relationship | 3.3356409519815204e-09 m^-1 |
hertz-joule relationship | 6.62607015e-34 J |
hertz-kelvin relationship | 4.799243073e-11 K |
hertz-kilogram relationship | 7.372497323e-51 kg |
hyperfine transition frequency of Cs-133 | 9192631770.0 Hz |
inverse fine-structure constant | 137.035999084 |
inverse meter-atomic mass unit relationship | 1.3310250501e-15 u |
inverse meter-electron volt relationship | 1.239841984e-06 eV |
inverse meter-hartree relationship | 4.556335252912e-08 E_h |
inverse meter-hertz relationship | 299792458.0 Hz |
每米-焦耳关系 | 1.986445857e-25 J |
每米-开尔文关系 | 0.01438776877 K |
每米-千克关系 | 2.210219094e-42 kg |
电导量子的倒数 | 12906.40372 ohm |
Josephson 常数 | 483597848400000.0 Hz V^-1 |
焦耳-原子质量单位关系 | 6700535256.5 u |
焦耳-电子伏特关系 | 6.241509074e+18 eV |
焦耳-哈特里关系 | 2.2937122783963e+17 E_h |
焦耳-赫兹关系 | 1.509190179e+33 Hz |
焦耳-每米关系 | 5.034116567e+24 m^-1 |
焦耳-开尔文关系 | 7.242970516e+22 K |
焦耳-千克关系 | 1.1126500560536185e-17 kg |
开尔文-原子质量单位关系 | 9.2510873014e-14 u |
开尔文-电子伏特关系 | 8.617333262e-05 eV |
开尔文-哈特里关系 | 3.1668115634556e-06 E_h |
开尔文-赫兹关系 | 20836619120.0 Hz |
开尔文-每米关系 | 69.50348004 m^-1 |
开尔文-焦耳关系 | 1.380649e-23 J |
开尔文-千克关系 | 1.536179187e-40 kg |
千克-原子质量单位关系 | 6.0221407621e+26 u |
千克-电子伏特关系 | 5.609588603e+35 eV |
千克-哈特里关系 | 2.0614857887409e+34 E_h |
千克-赫兹关系 | 1.356392489e+50 Hz |
千克-每米关系 | 4.524438335e+41 m^-1 |
千克-焦耳关系 | 8.987551787368176e+16 J |
千克-开尔文关系 | 6.50965726e+39 K |
硅晶格常数 | 5.431020511e-10 m |
理想 Si 的晶格间距 (220) | 1.920155716e-10 m |
Loschmidt 常数 (273.15 K, 100 kPa) | 2.651645804e+25 m^-3 |
Loschmidt 常数 (273.15 K, 101.325 kPa) | 2.686780111e+25 m^-3 |
光效 | 683.0 lm W^-1 |
磁通量子 | 2.067833848e-15 Wb |
Mo x 单位 | 1.00209952e-13 m |
摩尔气体常数 | 8.314462618 J mol^-1 K^-1 |
摩尔质量常数 | 0.00099999999965 kg mol^-1 |
碳-12 的摩尔质量 | 0.0119999999958 kg mol^-1 |
摩尔普朗克常数 | 3.990312712e-10 J Hz^-1 mol^-1 |
理想气体的摩尔体积 (273.15 K, 100 kPa) | 0.02271095464 m³ mol^-1 |
理想气体的摩尔体积 (273.15 K, 101.325 kPa) | 0.02241396954 m³ mol^-1 |
硅的摩尔体积 | 1.205883199e-05 m³ mol^-1 |
μ子康普顿波长 | 1.17344411e-14 m |
μ子 g 因子 | -2.0023318418 |
μ子磁矩 | -4.4904483e-26 J T^-1 |
μ子磁矩异常 | 0.00116592089 |
μ子磁矩对玻尔磁子比 | -0.00484197047 |
μ子磁矩对核磁子比 | -8.89059703 |
μ子质量 | 1.883531627e-28 kg |
μ子质能等效 | 1.692833804e-11 J |
μ子质能等效(以 MeV 计) | 105.6583755 MeV |
μ子质量(以 u 计) | 0.1134289259 u |
μ子的摩尔质量 | 0.0001134289259 kg mol^-1 |
μ子-电子质量比 | 206.768283 |
μ子-中子质量比 | 0.112454517 |
μ子-质子磁矩比 | -3.183345142 |
μ子-质子质量比 | 0.1126095264 |
μ子-τ子质量比 | 0.0594635 |
电子伏秒中的自然单位行动 | 1.054571817e-34 J s |
电子伏-秒中的自然单位行动 | 6.582119569e-16 eV s |
自然能量单位 | 8.1871057769e-14 J |
以 MeV 为单位的自然能量单位 | 0.51099895 MeV |
自然长度单位 | 3.8615926796e-13 m |
自然质量单位 | 9.1093837015e-31 kg |
自然动量单位 | 2.730924488e-22 kg m s^-1 |
以 MeV/c 为单位的自然单位动量 | 0.5109989461 MeV/c |
自然时间单位 | 1.28808866819e-21 s |
以 m/s 为单位的自然速度单位 | 299792458.0 m s^-1 |
中子的康普顿波长 | 1.31959090581e-15 m |
中子的 g 因子 | -3.82608545 |
中子的旋磁比 | 183247171.0 s^-1 T^-1 |
中子的旋磁比(以 MHz/T 为单位) | 29.1646931 MHz T^-1 |
中子的磁矩 | -9.6623651e-27 J T^-1 |
中子磁矩对玻尔磁子比值 | -0.00104187563 |
中子磁矩对核磁子比值 | -1.91304273 |
中子的质量 | 1.67492749804e-27 kg |
中子的质能等效 | 1.50534976287e-10 J |
中子的质能等效(以 MeV 为单位) | 939.56542052 MeV |
中子的质量(以 u 为单位) | 1.00866491595 u |
中子的摩尔质量 | 0.0010086649156 kg mol^-1 |
中子的相对原子质量 | 1.00866491595 |
中子到屏蔽质子磁矩比 | -0.68499694 |
中子-电子磁矩比 | 0.00104066882 |
中子-电子质量比 | 1838.68366173 |
中子-μ子质量比 | 8.89248406 |
中子-质子磁矩比 | -0.68497934 |
中子-质子质量差的能量等效 | 2.30557435e-30 kg |
中子-质子质量差的能量等效 | 2.07214689e-13 J |
中子-质子质量差的能量等效(以 MeV 为单位) | 1.29333236 MeV |
中子-质子质量差的 u 值 | 0.00138844933 u |
中子-质子质量比 | 1.00137841931 |
中子-τ子质量比 | 0.528779 |
万有引力常数 | 6.6743e-11 m³ kg^-1 s^-2 |
以 GeV/c² 为单位的万有引力常数与 h-bar c 之比 | 6.70883e-39 (GeV/c²)^-2 |
核磁子 | 5.0507837461e-27 J T^-1 |
每电子伏每特斯拉中的核磁子 | 3.15245125844e-08 eV T^-1 |
每米每特斯拉中的核磁子 | 0.0254262341353 m^-1 T^-1 |
核磁子在 K/T 中的值 | 0.00036582677756 K T^-1 |
每 MHz 每特斯拉中的核磁子 | 7.6225932291 MHz T^-1 |
普朗克常数 | 6.62607015e-34 J Hz^-1 |
以 eV/Hz 为单位的普朗克常数 | 4.135667696e-15 eV Hz^-1 |
普朗克长度 | 1.616255e-35 m |
普朗克质量 | 2.176434e-08 kg |
以 GeV 为单位的普朗克质量能量等效 | 1.22089e+19 GeV |
普朗克温度 | 1.416784e+32 K |
普朗克时间 | 5.391247e-44 s |
质子电荷与质量的比值 | 95788331.56 C kg^-1 |
质子的康普顿波长 | 1.32140985539e-15 m |
质子的 g 因子 | 5.5856946893 |
质子的旋磁比(以 MHz/T 为单位) | 267522187.44 s^-1 T^-1 |
质子的旋磁比(以 MHz/T 为单位) | 42.577478518 MHz T^-1 |
proton mag. mom. | 1.41060679736e-26 J T^-1 |
proton mag. mom. to Bohr magneton ratio | 0.0015210322023 |
proton mag. mom. to nuclear magneton ratio | 2.79284734463 |
proton mag. shielding correction | 2.5689e-05 |
proton mass | 1.67262192369e-27 kg |
proton mass energy equivalent | 1.50327761598e-10 J |
proton mass energy equivalent in MeV | 938.27208816 MeV |
proton mass in u | 1.007276466621 u |
proton molar mass | 0.00100727646627 kg mol^-1 |
proton relative atomic mass | 1.007276466621 |
proton rms charge radius | 8.414e-16 m |
proton-electron mass ratio | 1836.15267343 |
proton-muon mass ratio | 8.88024337 |
proton-neutron mag. mom. ratio | -1.45989805 |
proton-neutron mass ratio | 0.99862347812 |
proton-tau mass ratio | 0.528051 |
quantum of circulation | 0.00036369475516 m² s^-1 |
quantum of circulation times 2 | 0.00072738951032 m² s^-1 |
reduced Compton wavelength | 3.8615926796e-13 m |
reduced muon Compton wavelength | 1.867594306e-15 m |
reduced neutron Compton wavelength | 2.1001941552e-16 m |
reduced Planck constant | 1.054571817e-34 J s |
reduced Planck constant in eV s | 6.582119569e-16 eV s |
reduced Planck constant times c in MeV fm | 197.3269804 MeV fm |
reduced proton Compton wavelength | 2.10308910336e-16 m |
reduced tau Compton wavelength | 1.110538e-16 m |
Rydberg constant | 10973731.56816 m^-1 |
Rydberg constant times c in Hz | 3289841960250800.0 Hz |
Rydberg constant times hc in eV | 13.605693122994 eV |
Rydberg constant times hc in J | 2.1798723611035e-18 J |
Sackur-Tetrode constant (1 K, 100 kPa) | -1.15170753706 |
Sackur-Tetrode constant (1 K, 101.325 kPa) | -1.16487052358 |
second radiation constant | 0.01438776877 m K |
shielded helion gyromag. ratio | 203789456.9 s^-1 T^-1 |
shielded helion gyromag. ratio in MHz/T | 32.43409942 MHz T^-1 |
shielded helion mag. mom. | -1.07455309e-26 J T^-1 |
shielded helion mag. mom. to Bohr magneton ratio | -0.001158671471 |
shielded helion mag. mom. to nuclear magneton ratio | -2.127497719 |
shielded helion to proton mag. mom. ratio | -0.7617665618 |
shielded helion to shielded proton mag. mom. ratio | -0.7617861313 |
shielded proton gyromag. ratio | 267515315.1 s^-1 T^-1 |
shielded proton gyromag. ratio in MHz/T | 42.57638474 MHz T^-1 |
shielded proton mag. mom. | 1.41057056e-26 J T^-1 |
shielded proton mag. mom. to Bohr magneton ratio | 0.001520993128 |
shielded proton mag. mom. to nuclear magneton ratio | 2.792775599 |
shielding difference of d and p in HD | 2.02e-08 |
shielding difference of t and p in HT | 2.414e-08 |
speed of light in vacuum | 299792458.0 m s^-1 |
standard acceleration of gravity | 9.80665 m s^-2 |
standard atmosphere | 101325.0 Pa |
standard-state pressure | 100000.0 Pa |
Stefan-Boltzmann constant | 5.670374419e-08 W m^-2 K^-4 |
tau Compton wavelength | 6.97771e-16 米 |
tau energy equivalent | 1776.86 兆电子伏特 |
tau mass | 3.16754e-27 kg |
tau mass energy equivalent | 2.84684e-10 焦耳 |
tau mass in u | 1.90754 u |
tau molar mass | 0.00190754 千克 mol^-1 |
tau-electron mass ratio | 3477.23 |
tau-muon mass ratio | 16.817 |
tau-neutron mass ratio | 1.89115 |
tau-proton mass ratio | 1.89376 |
Thomson cross section | 6.6524587321e-29 平方米 |
triton g factor | 5.957924931 |
triton mag. mom. | 1.5046095202e-26 焦耳特^-1 |
triton mag. mom. to Bohr magneton ratio | 0.0016223936651 |
triton mag. mom. to nuclear magneton ratio | 2.9789624656 |
triton mass | 5.0073567446e-27 千克 |
triton mass energy equivalent | 4.500387806e-10 焦耳 |
triton mass energy equivalent in MeV | 2808.92113298 兆电子伏特 |
triton mass in u | 3.01550071621 u |
triton molar mass | 0.00301550071517 千克 mol^-1 |
triton relative atomic mass | 3.01550071621 |
triton to proton mag. mom. ratio | 1.0666399191 |
triton-electron mass ratio | 5496.92153573 |
triton-proton mass ratio | 2.99371703414 |
unified atomic mass unit | 1.6605390666e-27 千克 |
vacuum electric permittivity | 8.8541878128e-12 法拉每米 |
vacuum mag. permeability | 1.25663706212e-06 牛顿安培^-2 |
von Klitzing constant | 25812.80745 欧姆 |
W to Z mass ratio | 0.88153 |
weak mixing angle | 0.2229 |
Wien frequency displacement law constant | 58789257570.0 赫兹开尔文^-1 |
Wien wavelength displacement law constant | 0.002897771955 米开尔文 |
单位
SI 前缀
quetta | (10^{30}) |
|---|---|
ronna | (10^{27}) |
yotta | (10^{24}) |
zetta | (10^{21}) |
exa | (10^{18}) |
peta | (10^{15}) |
tera | (10^{12}) |
giga | (10^{9}) |
mega | (10^{6}) |
kilo | (10^{3}) |
hecto | (10^{2}) |
deka | (10^{1}) |
deci | (10^{-1}) |
centi | (10^{-2}) |
milli | (10^{-3}) |
micro | (10^{-6}) |
nano | (10^{-9}) |
pico | (10^{-12}) |
femto | (10^{-15}) |
atto | (10^{-18}) |
zepto | (10^{-21}) |
yocto | (10^{-24}) |
ronto | (10^{-27}) |
quecto | (10^{-30}) |
二进制前缀
kibi | (2^{10}) |
|---|---|
mebi | (2^{20}) |
gibi | (2^{30}) |
tebi | (2^{40}) |
pebi | (2^{50}) |
exbi | (2^{60}) |
zebi | (2^{70}) |
yobi | (2^{80}) |
质量
gram | (10^{-3}) 千克 |
|---|---|
metric_ton | (10^{3}) 千克 |
grain | 一粒在千克中的质量 |
lb | 一磅(常衡制)在千克中的质量 |
pound | 一磅(常衡制)在千克中的质量 |
blob | 一英寸版本的蛞蝓在千克中的质量(自 1.0.0 版本添加) |
slinch | 一英寸版本的蛞蝓在千克中的质量(自 1.0.0 版本添加) |
slug | 一只蛞蝓在千克中的质量(自 1.0.0 版本添加) |
oz | 一盎司在千克中的质量 |
ounce | 一盎司在千克中的质量 |
stone | 一英石在千克中的质量 |
grain | 一粒在千克中的质量 |
long_ton | 一长吨在千克中的质量 |
short_ton | 一短吨在千克中的质量 |
troy_ounce | 一金衡盎司在千克中的质量 |
troy_pound | 一金衡磅的千克数 |
carat | 一克拉的千克数 |
m_u | 原子质量常数(单位:千克) |
u | 原子质量常数(单位:千克) |
atomic_mass | 原子质量常数(单位:千克) |
角度
degree | 度的弧度数 |
|---|---|
arcmin | 角分的弧度数 |
arcminute | 角分的弧度数 |
arcsec | 角秒的弧度数 |
arcsecond | 角秒的弧度数 |
时间
minute | 一分钟的秒数 |
|---|---|
hour | 一小时的秒数 |
day | 一天的秒数 |
week | 一周的秒数 |
year | 一年(365 天)的秒数 |
Julian_year | 一儒略年(365.25 天)的秒数 |
长度
inch | 一英寸的米数 |
|---|---|
foot | 一英尺的米数 |
yard | 一码的米数 |
mile | 一英里的米数 |
mil | 一毫的米数 |
pt | 一点的米数 |
point | 一点的米数 |
survey_foot | 一测量英尺的米数 |
survey_mile | 一测量英里的米数 |
nautical_mile | 一海里的米数 |
fermi | 一费米的米数 |
angstrom | 一埃的米数 |
micron | 一微米的米数 |
au | 一天文单位的米数 |
astronomical_unit | 一天文单位的米数 |
light_year | 一光年的米数 |
parsec | 一秒差距的米数 |
压力
atm | 标准大气压的帕斯卡数 |
|---|---|
atmosphere | 标准大气压的帕斯卡数 |
bar | 一巴的帕斯卡数 |
torr | 一托(毫米汞柱)的帕斯卡数 |
mmHg | 一托(毫米汞柱)的帕斯卡数 |
psi | 一磅力每平方英寸的帕斯卡数 |
面积
hectare | 一公顷的平方米数 |
|---|---|
acre | 一英亩的平方米数 |
体积
liter | 一升的立方米数 |
|---|---|
litre | 一升的立方米数 |
gallon | 一加仑(美国)的立方米数 |
gallon_US | 一加仑(美国)的立方米数 |
gallon_imp | 一加仑(英国)的立方米数 |
fluid_ounce | 一液体盎司(美国)的立方米数 |
fluid_ounce_US | 一液体盎司(美国)的立方米数 |
fluid_ounce_imp | 一液体盎司(英国)的立方米数 |
bbl | 一桶的立方米数 |
barrel | 一桶的立方米数 |
速度
kmh | 千米每小时的米每秒数 |
|---|---|
mph | 英里每小时的米每秒数 |
mach | 一马赫(近似值,15 摄氏度,1 标准大气压)的米每秒数 |
speed_of_sound | 一马赫(近似值,15 摄氏度,1 标准大气压)的米每秒数 |
knot | 一节的米每秒数 |
温度
zero_Celsius | 摄氏零度对应的开尔文数 |
|---|---|
degree_Fahrenheit | 一华氏度(仅温差)的开尔文数 |
convert_temperature(val, old_scale, new_scale) | 将温度从一个温度标度转换到另一个(包括摄氏度、开尔文、华氏度和兰氏度)的函数。 |
能量
eV | 一电子伏特的焦耳数 |
|---|---|
electron_volt | 一电子伏特的焦耳数 |
calorie | 一卡(热化学)的焦耳数 |
calorie_th | 一卡路里(热化学)等于多少焦耳 |
calorie_IT | 一卡路里(国际蒸汽表卡路里,1956 年)等于多少焦耳 |
erg | 一爱尔格等于多少焦耳 |
Btu | 一英热单位(国际蒸汽表)等于多少焦耳 |
Btu_IT | 一英热单位(国际蒸汽表)等于多少焦耳 |
Btu_th | 一英热单位(热化学)等于多少焦耳 |
ton_TNT | 一吨 TNT 等于多少焦耳 |
功率
hp | 一马力等于多少瓦特 |
|---|---|
horsepower | 一马力等于多少瓦特 |
力量
dyn | 一达因等于多少牛顿 |
|---|---|
dyne | 一达因等于多少牛顿 |
lbf | 一磅力等于多少牛顿 |
pound_force | 一磅力等于多少牛顿 |
kgf | 一公斤力等于多少牛顿 |
kilogram_force | 一公斤力等于多少牛顿 |
光学
lambda2nu(lambda_) | 将波长转换为光学频率 |
|---|---|
nu2lambda(nu) | 将光学频率转换为波长。 |
参考文献
[CODATA2018]
CODATA 2018 年推荐的基础物理常数。
physics.nist.gov/cuu/Constants/
scipy.constants.value
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.constants.value.html#scipy.constants.value
scipy.constants.value(key)
由键索引的 physical_constants 中的值
参数:
keyPython 字符串
字典中的键 physical_constants
返回:
value浮点数
key 对应的 physical_constants 中的值
示例
>>> from scipy import constants
>>> constants.value('elementary charge')
1.602176634e-19
scipy.constants.unit
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.constants.unit.html#scipy.constants.unit
scipy.constants.unit(key)
字典中由关键字索引的单位
参数:
关键Python 字符串
字典中的关键字 physical_constants
返回:
单位Python 字符串
对应于 关键字 的单位 physical_constants
示例
>>> from scipy import constants
>>> constants.unit('proton mass')
'kg'
scipy.constants.precision
scipy.constants.precision(key)
根据 key 索引的 physical_constants 中的相对精度
参数:
keyPython 字符串
字典physical_constants中的键
返回:
prec浮点数
相对精度,在physical_constants中对应于 key
示例
>>> from scipy import constants
>>> constants.precision('proton mass')
5.1e-37
scipy.constants.find
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.constants.find.html#scipy.constants.find
scipy.constants.find(sub=None, disp=False)
返回包含给定字符串的physical_constant键列表。
参数:
sub字符串
要搜索键的子字符串。默认情况下,返回所有键。
disp布尔
如果为 True,则打印找到的键并返回 None。否则,返回不打印任何内容的键列表。
返回:
keys列表或 None
如果disp为 False,则返回键列表。否则,返回 None。
示例
>>> from scipy.constants import find, physical_constants
哪些键在physical_constants字典中包含‘boltzmann’?
>>> find('boltzmann')
['Boltzmann constant',
'Boltzmann constant in Hz/K',
'Boltzmann constant in eV/K',
'Boltzmann constant in inverse meter per kelvin',
'Stefan-Boltzmann constant']
获取名为‘Boltzmann constant in Hz/K’的常数:
>>> physical_constants['Boltzmann constant in Hz/K']
(20836619120.0, 'Hz K^-1', 0.0)
查找键中包含‘radius’的常数:
>>> find('radius')
['Bohr radius',
'classical electron radius',
'deuteron rms charge radius',
'proton rms charge radius']
>>> physical_constants['classical electron radius']
(2.8179403262e-15, 'm', 1.3e-24)
scipy.constants.ConstantWarning
exception scipy.constants.ConstantWarning
访问一个不再包含在当前 CODATA 数据集中的常数。
with_traceback()
Exception.with_traceback(tb) – 将 self.traceback 设置为 tb 并返回 self。
scipy.constants.convert_temperature
scipy.constants.convert_temperature(val, old_scale, new_scale)
将温度刻度从摄氏度、开尔文、华氏度和兰金刻度之一转换为另一个刻度。
参数:
valarray_like
将要转换的温度值(或数组)以原始刻度表示的数值。
old_scalestr
指定原始刻度的字符串,温度值将从中进行转换。支持的刻度有摄氏度(‘Celsius’、‘celsius’、‘C’或‘c’)、开尔文(‘Kelvin’、‘kelvin’、‘K’、‘k’)、华氏度(‘Fahrenheit’、‘fahrenheit’、‘F’或‘f’)和兰金(‘Rankine’、‘rankine’、‘R’或‘r’)。
new_scalestr
指定将温度值转换为的新刻度的字符串。支持的刻度有摄氏度(‘Celsius’、‘celsius’、‘C’或‘c’)、开尔文(‘Kelvin’、‘kelvin’、‘K’、‘k’)、华氏度(‘Fahrenheit’、‘fahrenheit’、‘F’或‘f’)和兰金(‘Rankine’、‘rankine’、‘R’或‘r’)。
返回:
resfloat or array of floats
转换后的温度值以新刻度表达。
注意
从版本 0.18.0 开始新增。
示例
>>> from scipy.constants import convert_temperature
>>> import numpy as np
>>> convert_temperature(np.array([-40, 40]), 'Celsius', 'Kelvin')
array([ 233.15, 313.15])
scipy.constants.lambda2nu。
scipy.constants.lambda2nu(lambda_)
将波长转换为光学频率。
参数:
lambda_数组形式
波长需要转换。
返回:
nu浮点数或浮点数数组
等效光学频率。
注意事项。
计算nu = c / lambda,其中 c = 299792458.0,即真空中的光速,单位为米/秒。
示例
>>> from scipy.constants import lambda2nu, speed_of_light
>>> import numpy as np
>>> lambda2nu(np.array((1, speed_of_light)))
array([ 2.99792458e+08, 1.00000000e+00])
scipy.constants.nu2lambda
scipy.constants.nu2lambda(nu)
将光频率转换为波长。
参数:
nu类似数组
要转换的光频率。
返回值:
lambda浮点数或浮点数数组
等效波长(们)。
注意事项
计算 lambda = c / nu,其中 c = 299792458.0,即真空中的光速(米/秒)。
示例
>>> from scipy.constants import nu2lambda, speed_of_light
>>> import numpy as np
>>> nu2lambda(np.array((1, speed_of_light)))
array([ 2.99792458e+08, 1.00000000e+00])
数据集(scipy.datasets)
数据集方法
ascent() | 获取一个 8 位灰度深度、512 x 512 衍生图像,方便用于演示。 |
|---|---|
face([gray]) | 获取一个 1024 x 768 的浣熊脸彩色图像。 |
electrocardiogram() | 加载一个心电图作为 1-D 信号的示例。 |
实用方法
download_all([path]) | 下载所有 scipy.datasets 模块的数据集文件的实用方法。 |
|---|---|
clear_cache([datasets]) | 清理 scipy 数据集缓存目录。 |
数据集的使用
SciPy 数据集方法可以简单地按如下方式调用:'<dataset-name>()' 这会通过网络下载数据集文件一次,并保存缓存,然后返回一个代表数据集的 numpy.ndarray 对象。
请注意,不同数据集方法的返回数据结构和数据类型可能不同。有关更详细的用法示例,请查看上面特定数据集方法的文档。
数据集检索和存储工作原理
SciPy 数据集文件存储在 SciPy GitHub 组织下的各个 github 仓库中,遵循命名约定为'dataset-<name>',例如 scipy.datasets.face 文件位于 github.com/scipy/dataset-face。scipy.datasets 子模块利用并依赖于 Pooch,一个旨在简化获取数据文件的 Python 包。Pooch 在调用数据集函数时使用这些仓库来检索相应的数据集文件。
所有数据集的注册表,基本上是文件名与它们的 SHA256 哈希和仓库网址的映射被维护,Pooch 使用它来处理和验证在函数调用时的下载。下载数据集一次后,文件将保存在系统缓存目录下的'scipy-data'中。
不同平台上的数据集缓存位置可能会有所不同。
对于 macOS:
'~/Library/Caches/scipy-data'
对于 Linux 和其他类 Unix 平台:
'~/.cache/scipy-data' # or the value of the XDG_CACHE_HOME env var, if defined
对于 Windows:
'C:\Users\<user>\AppData\Local\<AppAuthor>\scipy-data\Cache'
在由于各种安全原因而受限网络连接的环境中,或者在没有持续互联网连接的系统上,可以通过将数据集存储库的内容放置在上述提到的缓存目录中手动加载数据集的缓存,以避免在没有互联网连接时出现数据集获取错误。
scipy.datasets.ascent
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.datasets.ascent.html#scipy.datasets.ascent
scipy.datasets.ascent()
获取一个 8 位灰度位深度,512 x 512 像素的图像,方便用于演示。
该图像源自于www.public-domain-image.com/people-public-domain-images-pictures/上的 accent-to-the-top.jpg。
参数:
无
返回:
ascentndarray
用于测试和演示的方便图像
示例
>>> import scipy.datasets
>>> ascent = scipy.datasets.ascent()
>>> ascent.shape
(512, 512)
>>> ascent.max()
255
>>> import matplotlib.pyplot as plt
>>> plt.gray()
>>> plt.imshow(ascent)
>>> plt.show()
scipy.datasets.face
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.datasets.face.html#scipy.datasets.face
scipy.datasets.face(gray=False)
获取一张 1024 x 768 的浣熊脸部彩色图像。
raccoon-procyon-lotor.jpg 位于 www.public-domain-image.com
Parameters:
graybool, 可选
如果为 True 返回 8 位灰度图像,否则返回彩色图像
Returns:
facendarray
浣熊脸部图像
Examples
>>> import scipy.datasets
>>> face = scipy.datasets.face()
>>> face.shape
(768, 1024, 3)
>>> face.max()
255
>>> face.dtype
dtype('uint8')
>>> import matplotlib.pyplot as plt
>>> plt.gray()
>>> plt.imshow(face)
>>> plt.show()
scipy.datasets.electrocardiogram
scipy.datasets.electrocardiogram()
加载心电图作为一维信号的示例。
返回的信号是一段长达 5 分钟的心电图(ECG),即心脏电活动的医学记录,采样频率为 360 赫兹。
返回:
ecgndarray
以 360 赫兹采样的毫伏(mV)单位的心电图。
注
提供的信号是来自 PhysioNet 上的 MIT-BIH 心律失常数据库的记录 208(MLII 导联)的摘录(19:35 至 24:35)。该摘录包括由噪声引起的伪迹、典型心跳以及病理变化。
1.1.0 版本的新功能。
参考文献
[1]
Moody GB, Mark RG. MIT-BIH 心律失常数据库的影响. IEEE Eng in Med and Biol 20(3):45-50 (2001 年 5-6 月). (PMID: 11446209); DOI:10.13026/C2F305
[2]
Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PCh, Mark RG, Mietus JE, Moody GB, Peng C-K, Stanley HE. PhysioBank, PhysioToolkit 和 PhysioNet:复杂生理信号的新研究资源的组成部分。循环 101(23):e215-e220; DOI:10.1161/01.CIR.101.23.e215
例子
>>> from scipy.datasets import electrocardiogram
>>> ecg = electrocardiogram()
>>> ecg
array([-0.245, -0.215, -0.185, ..., -0.405, -0.395, -0.385])
>>> ecg.shape, ecg.mean(), ecg.std()
((108000,), -0.16510875, 0.5992473991177294)
如所述,信号特征显示了几个具有不同形态的区域。例如,前几秒显示了正常窦性心律的心脏电活动,如下图所示。
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> fs = 360
>>> time = np.arange(ecg.size) / fs
>>> plt.plot(time, ecg)
>>> plt.xlabel("time in s")
>>> plt.ylabel("ECG in mV")
>>> plt.xlim(9, 10.2)
>>> plt.ylim(-1, 1.5)
>>> plt.show()
然而,在第 16 秒之后,首次早期室性收缩,也称为期外收缩,出现了。这些与典型心跳的形态学不同。这种差异可以在以下图中轻松观察到。
>>> plt.plot(time, ecg)
>>> plt.xlabel("time in s")
>>> plt.ylabel("ECG in mV")
>>> plt.xlim(46.5, 50)
>>> plt.ylim(-2, 1.5)
>>> plt.show()
在几个点上,大型伪迹干扰了记录,例如:
>>> plt.plot(time, ecg)
>>> plt.xlabel("time in s")
>>> plt.ylabel("ECG in mV")
>>> plt.xlim(207, 215)
>>> plt.ylim(-2, 3.5)
>>> plt.show()
最后,检查功率谱表明,大部分生物信号由低频组成。在 60 赫兹处,主电网引起的噪声可以清晰地观察到。
>>> from scipy.signal import welch
>>> f, Pxx = welch(ecg, fs=fs, nperseg=2048, scaling="spectrum")
>>> plt.semilogy(f, Pxx)
>>> plt.xlabel("Frequency in Hz")
>>> plt.ylabel("Power spectrum of the ECG in mV**2")
>>> plt.xlim(f[[0, -1]])
>>> plt.show()
scipy.datasets.download_all
scipy.datasets.download_all(path=None)
用于下载scipy.datasets模块中所有数据集文件的实用方法。
参数:
pathstr,可选
下载所有数据集文件的目录路径。如果为 None,则默认为由 pooch 检测到的系统缓存目录。
数据集(scipy.datasets)
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/datasets.html#module-scipy.datasets
数据集方法
ascent() | 获取一个 8 位灰度深度的 512 x 512 推导图像,用于演示方便。 |
|---|---|
face([gray]) | 获取一个 1024 x 768 的彩色浣熊脸部图像。 |
electrocardiogram() | 加载一个心电图作为一维信号的示例。 |
实用方法
download_all([path]) | 下载 scipy.datasets 模块的所有数据集文件的实用方法。 |
|---|---|
clear_cache([datasets]) | 清理 scipy 数据集缓存目录。 |
数据集的使用
SciPy 数据集方法可以简单地如下调用:'<dataset-name>()' 这会通过网络下载数据集文件一次,并保存缓存,然后返回表示数据集的 numpy.ndarray 对象。
注意,不同数据集方法的返回数据结构和数据类型可能不同。有关使用的更详细示例,请查看上述特定数据集方法的文档。
数据集检索和存储工作方式
SciPy 数据集文件存储在 SciPy GitHub 组织的各个单独存储库中,遵循命名约定为 'dataset-<name>',例如 scipy.datasets.face 文件位于 github.com/scipy/dataset-face。scipy.datasets 子模块利用并依赖于 Pooch,一个简化数据文件获取的 Python 包。Pooch 在调用数据集函数时使用这些存储库来检索相应的数据集文件。
所有数据集的注册表,实质上是文件名与其 SHA256 哈希及存储库 URL 的映射,均由 Pooch 维护,用于在函数调用时处理和验证下载。下载数据集一次后,文件将保存在系统缓存目录下的 'scipy-data' 文件夹中。
数据集缓存位置在不同平台可能有所不同。
对于 macOS:
'~/Library/Caches/scipy-data'
对于 Linux 和其他类 Unix 平台:
'~/.cache/scipy-data' # or the value of the XDG_CACHE_HOME env var, if defined
对于 Windows:
'C:\Users\<user>\AppData\Local\<AppAuthor>\scipy-data\Cache'
在因各种安全原因而网络连接受限制的环境中,或者在没有持续互联网连接的系统上,可以通过将数据集仓库的内容手动放置在上述提到的缓存目录中,来加载数据集的缓存,以避免在没有互联网连接时获取数据集时发生错误。
scipy.datasets.clear_cache
scipy.datasets.clear_cache(datasets=None)
清理 scipy 数据集缓存目录。
如果提供了 scipy.datasets 方法或其列表/元组,则 clear_cache 将删除与传递的数据集方法可调用相关联的所有数据文件。
默认情况下,它会删除所有缓存的数据文件。
参数:
datasets 可调用对象或可调用对象的列表/元组或 None
示例
>>> from scipy import datasets
>>> ascent_array = datasets.ascent()
>>> ascent_array.shape
(512, 512)
>>> datasets.clear_cache([datasets.ascent])
Cleaning the file ascent.dat for dataset ascent
离散傅立叶变换(scipy.fft)
快速傅立叶变换(FFT)
fft(x[, n, axis, norm, overwrite_x, ...]) | 计算一维离散傅立叶变换。 |
|---|---|
ifft(x[, n, axis, norm, overwrite_x, ...]) | 计算一维离散傅立叶逆变换。 |
fft2(x[, s, axes, norm, overwrite_x, ...]) | 计算二维离散傅立叶变换 |
ifft2(x[, s, axes, norm, overwrite_x, ...]) | 计算二维离散傅立叶逆变换。 |
fftn(x[, s, axes, norm, overwrite_x, ...]) | 计算 N 维离散傅立叶变换。 |
ifftn(x[, s, axes, norm, overwrite_x, ...]) | 计算 N 维离散傅立叶逆变换。 |
rfft(x[, n, axis, norm, overwrite_x, ...]) | 计算实输入的一维离散傅立叶变换。 |
irfft(x[, n, axis, norm, overwrite_x, ...]) | 计算rfft的逆变换。 |
rfft2(x[, s, axes, norm, overwrite_x, ...]) | 计算实数组的二维傅立叶变换。 |
irfft2(x[, s, axes, norm, overwrite_x, ...]) | 计算rfft2的逆变换 |
rfftn(x[, s, axes, norm, overwrite_x, ...]) | 计算实输入的 N 维离散傅立叶变换。 |
irfftn(x[, s, axes, norm, overwrite_x, ...]) | 计算rfftn的逆变换 |
hfft(x[, n, axis, norm, overwrite_x, ...]) | 计算具有共轭对称性的信号的傅立叶变换,即实谱。 |
ihfft(x[, n, axis, norm, overwrite_x, ...]) | 计算具有共轭对称性的信号的逆傅立叶变换。 |
hfft2(x[, s, axes, norm, overwrite_x, ...]) | 计算共轭复数数组的二维傅立叶变换。 |
ihfft2(x[, s, axes, norm, overwrite_x, ...]) | 计算实谱的二维逆 FFT。 |
hfftn(x[, s, axes, norm, overwrite_x, ...]) | 计算 Hermite 对称复输入的 N 维 FFT,即具有实谱的信号。 |
ihfftn(x[, s, axes, norm, overwrite_x, ...]) | 计算实谱的 N 维逆离散傅里叶变换。 |
离散正弦和余弦变换(DST 和 DCT)
dct(x[, type, n, axis, norm, overwrite_x, ...]) | 返回任意类型序列 x 的离散余弦变换。 |
|---|---|
idct(x[, type, n, axis, norm, overwrite_x, ...]) | 返回任意类型序列的离散余弦逆变换。 |
dctn(x[, type, s, axes, norm, overwrite_x, ...]) | 返回沿指定轴的多维离散余弦变换。 |
idctn(x[, type, s, axes, norm, overwrite_x, ...]) | 返回沿指定轴的多维离散余弦逆变换。 |
dst(x[, type, n, axis, norm, overwrite_x, ...]) | 返回任意类型序列 x 的离散正弦变换。 |
idst(x[, type, n, axis, norm, overwrite_x, ...]) | 返回任意类型序列的离散正弦逆变换。 |
dstn(x[, type, s, axes, norm, overwrite_x, ...]) | 返回沿指定轴的多维离散正弦变换。 |
idstn(x[, type, s, axes, norm, overwrite_x, ...]) | 返回沿指定轴的多维离散正弦逆变换。 |
快速 Hankel 变换
fht(a, dln, mu[, offset, bias]) | 计算快速 Hankel 变换。 |
|---|---|
ifht(A, dln, mu[, offset, bias]) | 计算逆快速 Hankel 变换。 |
辅助函数
fftshift(x[, axes]) | 将零频率分量移至频谱中心。 |
|---|---|
ifftshift(x[, axes]) | fftshift 的逆操作。 |
fftfreq(n[, d, xp, device]) | 返回离散傅里叶变换的采样频率。 |
rfftfreq(n[, d, xp, device]) | 返回离散傅里叶变换采样频率(用于 rfft, irfft 的使用)。 |
fhtoffset(dln, mu[, initial, bias]) | 返回快速 Hankel 变换的最佳偏移量。 |
next_fast_len(target[, real]) | 查找输入数据到 fft 的下一个快速大小,用于零填充等。 |
set_workers(workers) | 默认工作线程数的上下文管理器,用于 scipy.fft。 |
get_workers() | 返回当前上下文中默认的工作线程数。 |
后端控制
set_backend(backend[, coerce, only]) | 在固定范围内设置后端的上下文管理器。 |
|---|---|
skip_backend(backend) | 在固定范围内跳过某个后端的上下文管理器。 |
set_global_backend(backend[, coerce, only, ...]) | 设置全局 fft 后端。 |
register_backend(backend) | 注册永久使用的后端。 |
scipy.fft.fft
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.fft.fft.html#scipy.fft.fft
scipy.fft.fft(x, n=None, axis=-1, norm=None, overwrite_x=False, workers=None, *, plan=None)
计算 1-D 离散傅里叶变换。
此函数使用高效的快速傅里叶变换(FFT)算法计算 1-D n-点离散傅里叶变换(DFT)[1]。
参数:
xarray_like
输入数组,可以是复数。
nint, optional
输出的变换轴的长度。如果n小于输入的长度,则截断输入。如果n大于输入的长度,则用零填充输入。如果没有给出n,则使用axis指定的轴上的输入长度。
axisint, optional
用于计算 FFT 的轴。如果未给出,则使用最后一个轴。
norm{“backward”,“ortho”,“forward”},optional
标准化模式。默认为“backward”,表示在正向变换上不进行标准化,在ifft上按1/n进行缩放。而“forward”则在正向变换上应用1/n因子。对于norm="ortho",两个方向均按1/sqrt(n)进行缩放。
新版本 1.6.0 中添加了norm={"forward", "backward"}选项。
overwrite_xbool, optional
如果为 True,则x的内容可以被销毁;默认为 False。有关更多详细信息,请参见下面的说明。
workersint, optional
并行计算的最大工作线程数。如果为负数,则从os.cpu_count()循环回绕。有关更多详细信息,请参见下文。
planobject, optional
此参数保留供下游 FFT 供应商提供的预计算计划。目前在 SciPy 中未使用。
新版本 1.5.0 中的新增内容。
返回:
outcomplex ndarray
指定由axis指示的轴或最后一个轴(如果未指定axis)转换的截断或零填充输入。
引发:
IndexError
若axes大于x的最后一个轴。
另见
二维 FFT。
N 维 FFT。
实输入的 N 维 FFT。
给定 FFT 参数的频率分 bin。
用于最有效转换的输入填充大小。
注意
FFT(快速傅里叶变换)指的是通过使用计算项中的对称性来高效计算离散傅里叶变换(DFT)的一种方法。当 n 是 2 的幂时,对称性最高,因此对于这些大小的变换效率最高。对于难以因式分解的大小,scipy.fft 使用 Bluestein 算法 [2],因此计算复杂度永远不会超过 O(n log n)。通过使用 next_fast_len 来对输入进行零填充,可能会看到进一步的性能提升。
如果 x 是 1 维数组,则 fft 等效于
y[k] = np.sum(x * np.exp(-2j * np.pi * k * np.arange(n)/n))
频率项 f=k/n 在 y[k] 处找到。在 y[n/2] 处达到奈奎斯特频率,并绕到负频率项。因此,对于 8 点变换,结果的频率是 [0, 1, 2, 3, -4, -3, -2, -1]。要重新排列 fft 输出,使零频率分量居中,如 [-4, -3, -2, -1, 0, 1, 2, 3],使用 fftshift。
变换可以使用单精度、双精度或扩展精度(长双精度)浮点数完成。半精度输入将转换为单精度,非浮点输入将转换为双精度。
如果 x 的数据类型是实数,则会自动使用“实 FFT”算法,大致减少计算时间的一半。为了进一步提高效率,可以使用 rfft,它执行相同的计算,但只输出对称频谱的一半。如果数据既是实数又是对称的,则 dct 可以再次将效率提升一倍,通过从信号的一半生成一半的频谱。
当指定 overwrite_x=True 时,x 引用的内存可能会被实现方式使用。这可能包括重用内存作为结果,但这并不保证。您不应依赖于变换后 x 的内容,因为这可能会在未来更改而没有警告。
workers 参数指定要将 FFT 计算拆分为的最大并行作业数。这将在 x 中执行独立的 1-D FFT。因此,x 必须至少是 2-D,并且非变换的轴必须足够大,以便分成块。如果 x 太小,则可能使用的作业数少于请求的数量。
参考文献
[1]
Cooley, James W. 和 John W. Tukey, 1965 年, “An algorithm for the machine calculation of complex Fourier series,” Math. Comput. 19: 297-301.
[2]
Bluestein, L., 1970 年, “A linear filtering approach to the computation of discrete Fourier transform”. IEEE Transactions on Audio and Electroacoustics. 18 (4): 451-455.
示例
>>> import scipy.fft
>>> import numpy as np
>>> scipy.fft.fft(np.exp(2j * np.pi * np.arange(8) / 8))
array([-2.33486982e-16+1.14423775e-17j, 8.00000000e+00-1.25557246e-15j,
2.33486982e-16+2.33486982e-16j, 0.00000000e+00+1.22464680e-16j,
-1.14423775e-17+2.33486982e-16j, 0.00000000e+00+5.20784380e-16j,
1.14423775e-17+1.14423775e-17j, 0.00000000e+00+1.22464680e-16j])
在这个例子中,实数输入的 FFT 是 Hermitian 的,即在实部对称,在虚部反对称:
>>> from scipy.fft import fft, fftfreq, fftshift
>>> import matplotlib.pyplot as plt
>>> t = np.arange(256)
>>> sp = fftshift(fft(np.sin(t)))
>>> freq = fftshift(fftfreq(t.shape[-1]))
>>> plt.plot(freq, sp.real, freq, sp.imag)
[<matplotlib.lines.Line2D object at 0x...>,
<matplotlib.lines.Line2D object at 0x...>]
>>> plt.show()
scipy.fft.ifft
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.fft.ifft.html#scipy.fft.ifft
scipy.fft.ifft(x, n=None, axis=-1, norm=None, overwrite_x=False, workers=None, *, plan=None)
计算 1-D 逆离散傅里叶变换。
此函数计算由fft计算的 1-D n点离散傅里叶变换的逆变换。换句话说,ifft(fft(x)) == x在数值精度范围内成立。
输入应与fft返回的顺序相同,
-
x[0]应包含零频率项, -
x[1:n//2]应包含正频率项, -
x[n//2 + 1:]应包含负频率项,按照从最负频率开始递增的顺序。
对于偶数个输入点,x[n//2]代表正和负 Nyquist 频率值的总和,因为这两者会混叠在一起。详情请参见fft。
参数:
xarray_like
输入数组,可以是复数。
nint, optional
输出的转换轴的长度。如果n小于输入的长度,则截断输入。如果n大于输入的长度,则用零填充输入。有关填充问题的说明,请参阅注释。
axisint, optional
计算逆 DFT 的轴。如果未给出,则使用最后一个轴。
norm{“backward”, “ortho”, “forward”}, optional
归一化模式(参见fft)。默认为“backward”。
overwrite_xbool, optional
如果为 True,则可以销毁x的内容;默认值为 False。详见fft。
workersint, optional
并行计算中使用的最大工作线程数。如果为负数,则从os.cpu_count()开始循环计数。详见fft。
planobject, optional
此参数保留供下游 FFT 供应商提供的预先计算的计划使用。目前 SciPy 未使用此参数。
自版本 1.5.0 起新增。
返回:
outcomplex ndarray
指示的轴或最后一个轴上变换的截断或零填充输入。
异常:
IndexError
如果axes大于x的最后一个轴。
另请参见
1-D(正向)FFT,其逆变换为ifft。
2-D 逆傅里叶变换。
N-D 逆傅里叶变换。
注:
如果输入参数n大于输入的大小,则在末尾附加零以进行填充。尽管这是常见的方法,但可能会导致意想不到的结果。如果需要不同的填充方式,则必须在调用ifft之前执行。
如果x是一个一维数组,那么ifft等效于
y[k] = np.sum(x * np.exp(2j * np.pi * k * np.arange(n)/n)) / len(x)
与fft类似,ifft支持所有浮点类型,并且针对实数输入进行了优化。
示例
>>> import scipy.fft
>>> import numpy as np
>>> scipy.fft.ifft([0, 4, 0, 0])
array([ 1.+0.j, 0.+1.j, -1.+0.j, 0.-1.j]) # may vary
创建并绘制具有随机相位的带限信号:
>>> import matplotlib.pyplot as plt
>>> rng = np.random.default_rng()
>>> t = np.arange(400)
>>> n = np.zeros((400,), dtype=complex)
>>> n[40:60] = np.exp(1j*rng.uniform(0, 2*np.pi, (20,)))
>>> s = scipy.fft.ifft(n)
>>> plt.plot(t, s.real, 'b-', t, s.imag, 'r--')
[<matplotlib.lines.Line2D object at ...>, <matplotlib.lines.Line2D object at ...>]
>>> plt.legend(('real', 'imaginary'))
<matplotlib.legend.Legend object at ...>
>>> plt.show()
scipy.fft.fft2
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.fft.fft2.html#scipy.fft.fft2
scipy.fft.fft2(x, s=None, axes=(-2, -1), norm=None, overwrite_x=False, workers=None, *, plan=None)
计算 2-D 离散傅里叶变换
此函数通过快速傅里叶变换(FFT)计算 M-D 数组中任何轴上的 N-D 离散傅里叶变换。默认情况下,变换在输入数组的最后两个轴上计算,即 2 维 FFT。
参数:
xarray_like
输入数组,可以是复数
s整数序列,可选
输出的形状(每个转换轴的长度)(s[0] 指代轴 0,s[1] 指代轴 1,以此类推)。这对应于 fft(x, n) 中的 n。沿每个轴,如果给定的形状小于输入的形状,则输入被裁剪。如果形状更大,则用零填充输入。如果未给出 s,则使用由 axes 指定的轴上的输入形状。
axes整数序列,可选
用于计算 FFT 的轴。如果未给出,则使用最后两个轴。
norm{“backward”, “ortho”, “forward”},可选
标准化模式(见 fft)。默认为“backward”。
overwrite_xbool,可选
如果为 True,则 x 的内容可以被销毁;默认值为 False。详情请参阅 fft。
workersint,可选
用于并行计算的最大工作线程数。如果为负数,则从 os.cpu_count() 回绕。详情请参阅 fft。
plan对象,可选
此参数保留用于传递下游 FFT 供应商提供的预计算计划。目前在 SciPy 中未使用。
自版本 1.5.0 新增。
返回:
out复数 ndarray
截断或零填充输入,沿 axes 指示的轴变换,或者如果未给出 axes 则为最后两个轴。
引发:
值错误
如果 s 和 axes 长度不同,或者未给出 axes 且 len(s) != 2。
索引错误
如果 axes 的元素大于 x 的轴数。
另请参阅
逆 2-D FFT。
1-D FFT。
N 维 FFT。
将零频率项移至数组中心。对于 2-D 输入,交换第一和第三象限,第二和第四象限。
注释
输出与fft类似,在变换后的轴的低阶角落包含零频率的项,这些轴的前半部分包含正频率项,轴的中间包含奈奎斯特频率的项,这些轴的后半部分以递减的负频率顺序包含负频率项。
查看fftn了解详细信息和绘图示例,以及fft了解使用的定义和约定。
例子
>>> import scipy.fft
>>> import numpy as np
>>> x = np.mgrid[:5, :5][0]
>>> scipy.fft.fft2(x)
array([[ 50\. +0.j , 0\. +0.j , 0\. +0.j , # may vary
0\. +0.j , 0\. +0.j ],
[-12.5+17.20477401j, 0\. +0.j , 0\. +0.j ,
0\. +0.j , 0\. +0.j ],
[-12.5 +4.0614962j , 0\. +0.j , 0\. +0.j ,
0\. +0.j , 0\. +0.j ],
[-12.5 -4.0614962j , 0\. +0.j , 0\. +0.j ,
0\. +0.j , 0\. +0.j ],
[-12.5-17.20477401j, 0\. +0.j , 0\. +0.j ,
0\. +0.j , 0\. +0.j ]])
scipy.fft.ifft2
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.fft.ifft2.html#scipy.fft.ifft2
scipy.fft.ifft2(x, s=None, axes=(-2, -1), norm=None, overwrite_x=False, workers=None, *, plan=None)
计算 2-D 离散傅里叶变换的逆变换。
该函数通过快速傅里叶变换(FFT)在 M-D 数组中的任意数量的轴上计算 2-D 离散傅里叶变换的逆变换。换句话说,对于数字精度内,ifft2(fft2(x)) == x。默认情况下,逆变换计算在输入数组的最后两个轴上。
输入与 [ifft](docs.scipy.org/doc/scipy-1… "scipy.fft.ifft")返回的相同方式排序,即应在两个轴的低序角处具有零频率项,这些轴的前半部分具有正频率项,在这些轴的中间具有奈奎斯特频率项,并且这些轴的后半部分具有负频率项,按照递减负频率的顺序。
参数:
x:类似数组
输入数组,可以是复数。
s:整数序列,可选
输出的形状(每个轴的长度)(s[0] 指代轴 0,s[1] 指代轴 1,依此类推)。对应于 ifft(x, n) 的 n。沿每个轴,如果给定的形状小于输入的形状,则输入会被裁剪。如果形状更大,则用零填充输入。如果未给定 s,则使用 axes 指定的轴上的输入形状。关于 [ifft](docs.scipy.org/doc/scipy-1… "scipy.fft.ifft")的零填充问题,请参阅注释。
axes:整数序列,可选
要计算 FFT 的轴。如果未给定,则使用最后两个轴。
norm:{“backward”, “ortho”, “forward”},可选
标准化模式(见 [fft](docs.scipy.org/doc/scipy-1… "scipy.fft.fft"))。默认为“backward”。
overwrite_x:布尔值,可选
如果为 True,则 x 的内容可以被破坏;默认为 False。有关更多详细信息,请参阅 fft。
workers:整数,可选
最大要使用的并行计算工作者数。如果为负数,则该值从 os.cpu_count() 循环回绕。有关更多详细信息,请参阅 fft。
plan:对象,可选
此参数保留用于向下游 FFT 供应商提供的预先计算的计划。目前在 SciPy 中未使用。
1.5.0 版本中的新功能。
返回:
out:复数 ndarray
被截断或零填充的输入,在 axes 指示的轴上进行变换,或者最后两个轴如果未给定 axes。
异常:
值错误
如果 s 和 axes 长度不同,或者未给定 axes 且 len(s) != 2。
索引错误
如果 axes 的元素大于 x 的轴数。
另请参阅
前向二维 FFT,其中ifft2 是其逆过程。
ifftn
N 维 FFT 的逆过程。
fft
一维 FFT。
ifft
一维逆 FFT。
注意
ifft2 只是具有不同 axes 默认值的ifftn。
详见ifftn 以及绘图示例,并参考用法和约定定义的fft。
零填充与ifft 类似,通过在指定维度的输入后附加零来完成。尽管这是常见的方法,但可能会导致意外结果。如果需要其他形式的零填充,则必须在调用ifft2 之前执行。
示例
>>> import scipy.fft
>>> import numpy as np
>>> x = 4 * np.eye(4)
>>> scipy.fft.ifft2(x)
array([[1.+0.j, 0.+0.j, 0.+0.j, 0.+0.j], # may vary
[0.+0.j, 0.+0.j, 0.+0.j, 1.+0.j],
[0.+0.j, 0.+0.j, 1.+0.j, 0.+0.j],
[0.+0.j, 1.+0.j, 0.+0.j, 0.+0.j]])
scipy.fft.fftn
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.fft.fftn.html#scipy.fft.fftn
scipy.fft.fftn(x, s=None, axes=None, norm=None, overwrite_x=False, workers=None, *, plan=None)
计算 N-D 离散傅里叶变换。
此函数通过快速傅里叶变换(FFT)计算 M-D 数组中任意数量轴上的 N-D 离散傅里叶变换。
参数:
x类数组
输入数组,可以是复数。
s整数序列,可选
输出的形状(每个转换轴的长度)(s[0]表示轴 0,s[1]表示轴 1,依此类推)。对于任何轴,如果给定的形状小于输入的形状,则输入将被截断。如果它更大,则使用零填充输入。如果未提供s,则使用由axes指定的轴上的输入形状。
axes整数序列,可选
在其上计算 FFT 的轴。如果未给出,则使用最后len(s)个轴,或者如果也未指定s,则使用所有轴。
norm{“backward”, “ortho”, “forward”},可选
标准化模式(参见fft)。默认为“backward”。
overwrite_x布尔型,可选
如果为 True,x的内容可以被破坏;默认为 False。有关更多详细信息,请参见fft。
workers整数,可选
最大工作程序数用于并行计算。如果为负数,则从os.cpu_count()的值循环回。有关更多详细信息,请参见fft。
计划对象,可选
此参数保留了下游 FFT 供应商提供的预计划。目前在 SciPy 中未使用。
自版本 1.5.0 起新增。
返回:
out复数 ndarray
被截断或零填充的输入,在由axes指示的轴或由参数部分中解释的s和x的组合中进行了转换。
Raises:
ValueError
如果s和axes的长度不同。
IndexError
如果axes的元素大于x的轴数。
另请参见
fftn的逆,逆 N-D FFT。
1-D FFT,其定义和惯例。
实输入的 N-D FFT。
2-D FFT。
将零频率项移到数组中心。
注意事项
输出与 fft 类似,包含所有轴的低阶角的零频率项,所有轴的前半部分的正频率项,所有轴中间的奈奎斯特频率项,以及所有轴后半部分的负频率项,按照递减负频率的顺序排列。
例子
>>> import scipy.fft
>>> import numpy as np
>>> x = np.mgrid[:3, :3, :3][0]
>>> scipy.fft.fftn(x, axes=(1, 2))
array([[[ 0.+0.j, 0.+0.j, 0.+0.j], # may vary
[ 0.+0.j, 0.+0.j, 0.+0.j],
[ 0.+0.j, 0.+0.j, 0.+0.j]],
[[ 9.+0.j, 0.+0.j, 0.+0.j],
[ 0.+0.j, 0.+0.j, 0.+0.j],
[ 0.+0.j, 0.+0.j, 0.+0.j]],
[[18.+0.j, 0.+0.j, 0.+0.j],
[ 0.+0.j, 0.+0.j, 0.+0.j],
[ 0.+0.j, 0.+0.j, 0.+0.j]]])
>>> scipy.fft.fftn(x, (2, 2), axes=(0, 1))
array([[[ 2.+0.j, 2.+0.j, 2.+0.j], # may vary
[ 0.+0.j, 0.+0.j, 0.+0.j]],
[[-2.+0.j, -2.+0.j, -2.+0.j],
[ 0.+0.j, 0.+0.j, 0.+0.j]]])
>>> import matplotlib.pyplot as plt
>>> rng = np.random.default_rng()
>>> [X, Y] = np.meshgrid(2 * np.pi * np.arange(200) / 12,
... 2 * np.pi * np.arange(200) / 34)
>>> S = np.sin(X) + np.cos(Y) + rng.uniform(0, 1, X.shape)
>>> FS = scipy.fft.fftn(S)
>>> plt.imshow(np.log(np.abs(scipy.fft.fftshift(FS))**2))
<matplotlib.image.AxesImage object at 0x...>
>>> plt.show()