SciPy 是一个基于 Python 的开源科学计算库,建立在 NumPy 之上,提供了许多用于数学、科学和工程计算的函数。
1. SciPy 模块列表
以下列出了 SciPy 常用的一些模块及官网 API 地址:
| 模块名 | 功能 | 参考文档 |
|---|---|---|
| scipy.cluster | 向量量化 | cluster API |
| scipy.constants | 数学常量 | constants API |
| scipy.fft | 快速傅里叶变换 | fft API |
| scipy.integrate | 积分 | integrate API |
| scipy.interpolate | 插值 | interpolate API |
| scipy.io | 数据输入输出 | io API |
| scipy.linalg | 线性代数 | linalg API |
| scipy.misc | 图像处理 | misc API |
| scipy.ndimage | N 维图像 | ndimage API |
| scipy.odr | 正交距离回归 | odr API |
| scipy.optimize | 优化算法 | optimize API |
| scipy.signal | 信号处理 | signal API |
| scipy.sparse | 稀疏矩阵 | sparse API |
| scipy.spatial | 空间数据结构和算法 | spatial API |
| scipy.special | 特殊数学函数 | special API |
| scipy.stats | 统计函数 | stats.mstats API |
2. 常量模块
SciPy 常量模块 constants 提供了许多内置的数学常数。
导入常量模块:
from scipy import constants
1. 常用常量分类及示例
1. 数学常量
pi:圆周率 π,其值近似为 3.141592653589793。
```python from scipy import constants
print(constants.pi) ```
golden:黄金比例 φ,约为 1.618033988749895。
```python from scipy import constants
print(constants.golden) ```
2. 物理常量
- 基本物理常量
c:真空中的光速,值为 299792458 米 / 秒。h:普朗克常数,约为 6.62607015e - 34 焦耳・秒。G:万有引力常数,大约是 6.67430e - 11 米 ³・千克⁻¹・秒⁻²。e:基本电荷,约为 1.602176634e - 19 库仑。m_e:电子质量,约为 9.1093837015e - 31 千克。m_p:质子质量,约为 1.67262192369e - 27 千克。m_n:中子质量,约为 1.67492749804e - 27 千克。- 热力学常量
k:玻尔兹曼常数,约为 1.380649e - 23 焦耳 / 开尔文。N_A:阿伏伽德罗常数,约为 6.02214076e23 每摩尔。R:普适气体常数,约为 8.314462618 焦耳 /(摩尔・开尔文)。
3. 单位转换常量
- 长度单位
inch:英寸与米的转换因子,1 英寸等于 0.0254 米。foot:英尺与米的转换因子,1 英尺等于 0.3048 米。mile:英里与米的转换因子,1 英里等于 1609.344 米。angstrom:埃与米的转换因子,1 埃等于 1e - 10 米。- 质量单位
gram:克与千克的转换因子,1 克等于 0.001 千克。pound:磅与千克的转换因子,1 磅约等于 0.45359237 千克。ounce:盎司与千克的转换因子,1 盎司约等于 0.028349523125 千克。- 时间单位
minute:分钟与秒的转换因子,1 分钟等于 60 秒。hour:小时与秒的转换因子,1 小时等于 3600 秒。day:天与秒的转换因子,1 天等于 86400 秒。year:年与秒的转换因子,1 年(按 365 天算)等于 31536000 秒。- 能量单位
eV:电子伏特与焦耳的转换因子,1 电子伏特约等于 1.602176634e - 19 焦耳。calorie:卡路里与焦耳的转换因子,1 卡路里(国际蒸汽表卡)约等于 4.1868 焦耳。
2. 查找常量和单位信息
你可以通过 find() 函数来查找包含特定关键词的常量和单位信息。例如:
from scipy import constants
# 查找包含 "light" 的常量和单位信息
print(constants.find("light"))
3. 获取常量的详细信息
可以使用 physical_constants 字典来获取某个常量的详细信息,该字典返回的元组包含值、单位和不确定度。例如:
from scipy import constants
# 获取真空中光速的详细信息
speed_of_light_info = constants.physical_constants["speed of light in vacuum"]
print(f"值: {speed_of_light_info[0]}")
print(f"单位: {speed_of_light_info[1]}")
print(f"不确定度: {speed_of_light_info[2]}")
4. 单位类型
常量模块包含以下几种单位:
1. 国际单位制词头
国际单位制词头(英语:SI prefix)表示单位的倍数和分数,目前有 20 个词头,大多数是千的整数次幂。 (centi 返回 0.01):
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 |
from scipy import constants
print(constants.yotta) #1e+24
print(constants.zetta) #1e+21
print(constants.exa) #1e+18
print(constants.peta) #1000000000000000.0
print(constants.tera) #1000000000000.0
print(constants.giga) #1000000000.0
print(constants.mega) #1000000.0
print(constants.kilo) #1000.0
print(constants.hecto) #100.0
print(constants.deka) #10.0
print(constants.deci) #0.1
print(constants.centi) #0.01
print(constants.milli) #0.001
print(constants.micro) #1e-06
print(constants.nano) #1e-09
print(constants.pico) #1e-12
print(constants.femto) #1e-15
print(constants.atto) #1e-18
print(constants.zepto) #1e-21
2. 二进制前缀
返回字节单位 (kibi 返回 1024)。
kibi |
210 |
|---|---|
mebi |
220 |
gibi |
230 |
tebi |
240 |
pebi |
250 |
exbi |
260 |
zebi |
270 |
yobi |
280 |
from scipy import constants
print(constants.kibi) #1024
print(constants.mebi) #1048576
print(constants.gibi) #1073741824
print(constants.tebi) #1099511627776
print(constants.pebi) #1125899906842624
print(constants.exbi) #1152921504606846976
print(constants.zebi) #1180591620717411303424
print(constants.yobi) #1208925819614629174706176
3. 质量单位
返回多少千克 kg。(gram 返回 0.001)。
from scipy import constants
print(constants.gram) #0.001
print(constants.metric_ton) #1000.0
print(constants.grain) #6.479891e-05
print(constants.lb) #0.45359236999999997
print(constants.pound) #0.45359236999999997
print(constants.oz) #0.028349523124999998
print(constants.ounce) #0.028349523124999998
print(constants.stone) #6.3502931799999995
print(constants.long_ton) #1016.0469088
print(constants.short_ton) #907.1847399999999
print(constants.troy_ounce) #0.031103476799999998
print(constants.troy_pound) #0.37324172159999996
print(constants.carat) #0.0002
print(constants.atomic_mass) #1.66053904e-27
print(constants.m_u) #1.66053904e-27
print(constants.u) #1.66053904e-27
4. 角度单位
返回弧度 (degree 返回 0.017453292519943295)。
from scipy import constants
print(constants.degree) #0.017453292519943295
print(constants.arcmin) #0.0002908882086657216
print(constants.arcminute) #0.0002908882086657216
print(constants.arcsec) #4.84813681109536e-06
print(constants.arcsecond) #4.84813681109536e-06
5. 时间单位
返回秒数(hour 返回 3600.0)。
from scipy import constants
print(constants.minute) #60.0
print(constants.hour) #3600.0
print(constants.day) #86400.0
print(constants.week) #604800.0
print(constants.year) #31536000.0
print(constants.Julian_year) #31557600.0
6. 长度单位
返回米数(nautical_mile 返回 1852.0)。
from scipy import constants
print(constants.inch) #0.0254
print(constants.foot) #0.30479999999999996
print(constants.yard) #0.9143999999999999
print(constants.mile) #1609.3439999999998
print(constants.mil) #2.5399999999999997e-05
print(constants.pt) #0.00035277777777777776
print(constants.point) #0.00035277777777777776
print(constants.survey_foot) #0.3048006096012192
print(constants.survey_mile) #1609.3472186944373
print(constants.nautical_mile) #1852.0
print(constants.fermi) #1e-15
print(constants.angstrom) #1e-10
print(constants.micron) #1e-06
print(constants.au) #149597870691.0
print(constants.astronomical_unit) #149597870691.0
print(constants.light_year) #9460730472580800.0
print(constants.parsec) #3.0856775813057292e+16
7. 压强单位
返回多少帕斯卡,压力的 SI 制单位。(psi 返回 6894.757293168361)。
from scipy import constants
print(constants.atm) #101325.0
print(constants.atmosphere) #101325.0
print(constants.bar) #100000.0
print(constants.torr) #133.32236842105263
print(constants.mmHg) #133.32236842105263
print(constants.psi) #6894.757293168361
8. 面积单位
返回多少平方米,平方米是面积的公制单位,其定义是:在一平面上,边长为一米的正方形之面积。(hectare 返回 10000.0)。
from scipy import constants
print(constants.hectare) #10000.0
print(constants.acre) #4046.8564223999992
9. 体积单位
返回多少立方米,立方米容量计量单位,1 立方米的容量相当于一个长、宽、高都等于 1 米的立方体的体积,与 1 公秉和 1 度水的容积相等,也与1000000立方厘米的体积相等。(liter 返回 0.001)。
from scipy import constants
print(constants.liter) #0.001
print(constants.litre) #0.001
print(constants.gallon) #0.0037854117839999997
print(constants.gallon_US) #0.0037854117839999997
print(constants.gallon_imp) #0.00454609
print(constants.fluid_ounce) #2.9573529562499998e-05
print(constants.fluid_ounce_US) #2.9573529562499998e-05
print(constants.fluid_ounce_imp) #2.84130625e-05
print(constants.barrel) #0.15898729492799998
print(constants.bbl) #0.15898729492799998
10. 速度单位
返回每秒多少米。(speed_of_sound 返回 340.5)。
from scipy import constants
print(constants.kmh) #0.2777777777777778
print(constants.mph) #0.44703999999999994
print(constants.mach) #340.5
print(constants.speed_of_sound) #340.5
print(constants.knot) #0.5144444444444445
11. 温度单位
返回多少开尔文。(zero_Celsius 返回 273.15)。
from scipy import constants
print(constants.zero_Celsius) #273.15
print(constants.degree_Fahrenheit) #0.5555555555555556
12. 能量单位
返回多少焦耳,焦耳(简称焦)是国际单位制中能量、功或热量的导出单位,符号为J。(calorie 返回 4.184)。
from scipy import constants
print(constants.zero_Celsius) #273.15
print(constants.degree_Fahrenheit) #0.5555555555555556
13. 功率单位
返回多少瓦特,瓦特(符号:W)是国际单位制的功率单位。1瓦特的定义是1焦耳/秒(1 J/s),即每秒钟转换,使用或耗散的(以安培为量度的)能量的速率。(horsepower 返回 745.6998715822701)。
from scipy import constants
print(constants.hp) #745.6998715822701
print(constants.horsepower) #745.6998715822701
14. 力学单位
返回多少牛顿,牛顿(符号为N,英语:Newton)是一种物理量纲,是力的公制单位。它是以建立经典力学(经典力学)的艾萨克·牛顿命名。。(kilogram_force 返回 9.80665)。
from scipy import constants
print(constants.dyn) #1e-05
print(constants.dyne) #1e-05
print(constants.lbf) #4.4482216152605
print(constants.pound_force) #4.4482216152605
print(constants.kgf) #9.80665
print(constants.kilogram_force) #9.80665
发表评论