文章目录
- 数组基础
- 文件与字符串
- 多项式
- 分布
- 实战
Numpy绝对可以说是支撑Python地位的最重要的包了,几乎所有能叫出名的Python计算库,都不可避免地调用了Numpy,Numpy官网也列出了一些,大致如下图这样,在科学计算领域,绝对算得上是瑞士军刀的刀把了。
数组基础
- 数据结构:高性能计算数组array
- 数组生成:等差数组💎坐标网格💎特殊数组💎数组形状调整
- 常用函数:数学函数💎排序函数💎统计函数💎逻辑和位处理函数
- 数学分析:数值差分💎数值积分💎傅里叶变换
- 线性代数
文件与字符串
- 字符串数组
- 文本读写
- 用fromfile和tofile读写文件
- npy和npz
多项式
Numpy.polynomial
中封装了六种多项式类,除了常规的多项式 a 0 + a 1 x + ⋯ + a n x n a_0+a_1x+\cdots+a_nx^n a0+a1x+⋯+anxn之外,还有五种在数学、物理中常用的正交多项式,例如Hermite多项式在量子力学中是谐振子的本征态;Legendre多项式可表示点电荷在空间中的激发电势;切比雪夫多项式可用于缓解龙格现象;拉盖尔多项式则是氢原子基函数的径向部分,下表是这些多项式在numpy
中封装的类以及各阶表达式。
类和链接 | 中文名称 | 第n阶表达式 |
---|---|---|
Polynomial | 多项式 | x n x^n xn |
Chebyshev | 第一类切比雪夫多项式 | cos ( n arccos x ) \cos(n\arccos x) cos(narccosx) |
Legendre | 勒让德多项式 | 1 2 n n ! d n d x n ( x 2 − 1 ) n \frac{1}{2^nn!}\frac{\text d^n}{\text dx^n}(x^2-1)^n 2nn!1dxndn(x2−1)n |
Laguerre | 拉盖尔多项式 | e x n ! d n d x n ( e − x x n ) \frac{e^x}{n!}\frac{\text d^n}{\text dx^n}(e^{-x}x^n) n!exdxndn(e−xxn) |
Hermite | 埃尔米特多项式(物理) | ( − 1 ) n e x 2 d n d x n e − x 2 (-1)^ne^{x^2}\frac{\text d^n}{\text dx^n}e^{-x^2} (−1)nex2dxndne−x2 |
HermiteE | 埃尔米特多项式(统计) | ( − 1 ) n e x 2 / 2 d n d x n e − x 2 / 2 (-1)^ne^{x^2/2}\frac{\text d^n}{\text dx^n}e^{-x^2/2} (−1)nex2/2dxndne−x2/2 |
这六个类对函数的封装十分相似,所以后面又写了个总结:多项式总结
分布
【np.random】中提供了一系列的分布函数,用以生成符合某种分布的随机数,本专栏从原理到代码,对这些分布进行逐一讲解,兼顾对不同分布之间联系的分析。
函数 | 概率密度函数(PDF) | 备注和链接 |
---|---|---|
binomial | p ( N ) = ( n N ) p N ( 1 − p ) n − N p(N) = \binom{n}{N}p^N(1-p)^{n-N} p(N)=(Nn)pN(1−p)n−N | 二项分布 |
multinomial | 多项分布 | |
geometric | f ( n ) = ( 1 − p ) n − 1 p f(n)=(1-p)^{n-1}p f(n)=(1−p)n−1p | 几何分布 |
negative_binomial | p ( N ) = Γ ( N + n ) N ! Γ ( n ) p n ( 1 − p ) N p(N)=\frac{\Gamma(N+n)}{N!\Gamma(n)}p^n(1-p)^N p(N)=N!Γ(n)Γ(N+n)pn(1−p)N | 负二项分布 |
poisson | f ( k ) = λ k e − λ k ! f(k)=\frac{\lambda^ke^{-\lambda}}{k!} f(k)=k!λke−λ | 泊松分布 |
logseries | p ( k ) = − p k k ln ( 1 − p ) p(k)=\frac{-p^k}{k\ln(1-p)} p(k)=kln(1−p)−pk | 对数级数分布 |
gamma | p ( x ) = x k − 1 e − x / θ θ k Γ ( k ) p(x)=x^{k-1}\frac{e^{-x/\theta}}{\theta^k\Gamma(k)} p(x)=xk−1θkΓ(k)e−x/θ | 伽马分布 |
beta | Γ ( a + b ) Γ ( a ) Γ ( b ) x a − 1 ( 1 − x ) b − 1 \frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)}x^{a-1}(1-x)^{b-1} Γ(a)Γ(b)Γ(a+b)xa−1(1−x)b−1 | 贝塔分布 |
dirichlet | p ( x ) = ∏ i = 1 k x i α i − 1 p(x)=\prod_{i=1}^kx_i^{\alpha_i-1} p(x)=∏i=1kxiαi−1 | 狄利克雷分布 |
logistic | p ( x ) = ( x − μ ) / s s ( 1 + exp [ − ( x − μ ) / s ] ) 2 p(x)=\frac{(x-\mu)/s}{s(1+\exp[-(x-\mu)/s])^2} p(x)=s(1+exp[−(x−μ)/s])2(x−μ)/s | Logistic分布 |
triangular | 分段函数 | 三角形分布 |
uniform | p ( x ) = 1 b − a p(x)=\frac{1}{b-a} p(x)=b−a1 | 均匀分布 |
vonmises | p ( x ) = exp [ κ ( x − μ ) ] 2 π I 0 ( κ ) p(x)=\frac{\exp[{\kappa(x-\mu)}]}{2\pi I_0(\kappa)} p(x)=2πI0(κ)exp[κ(x−μ)] | von Mises分布 |
zipf | p ( k ) = k − a ζ ( a ) p(k)=\frac{k^{-a}}{\zeta(a)} p(k)=ζ(a)k−a | 齐普夫分布 |
pareto | p ( x ) = m a x a p(x)=\frac{m^a}{x^{a}} p(x)=xama | 帕累托分布 |
power | p ( x ) = a x a − 1 p(x)=ax^{a-1} p(x)=axa−1 | 幂分布 |
gumbel | exp [ − z − e − z ] , z = x − μ λ \exp[{-z-e^{-z}}], z=\frac{x-\mu}{\lambda} exp[−z−e−z],z=λx−μ | 耿贝尔分布 |
chisquare | ( 1 / 2 ) k / 2 Γ ( k / 2 ) x k / 2 − 1 e − x / 2 \frac{(1/2)^{k/2}}{\Gamma(k/2)}x^{k/2-1}e^{-x/2} Γ(k/2)(1/2)k/2xk/2−1e−x/2 | 卡方分布 |
weibull | p ( x ) = a λ ( x λ ) a − 1 e − ( x / λ ) a p(x)=\frac{a}{\lambda}(\frac{x}{\lambda})^{a-1}e^{-(x/\lambda)^a} p(x)=λa(λx)a−1e−(x/λ)a | 威布尔分布 |
rayleigh | p ( x ) = x λ 2 exp [ − x 2 2 λ 2 ] p(x)=\frac{x}{\lambda^2}\exp[\frac{-x^2}{2\lambda^2}] p(x)=λ2xexp[2λ2−x2] | 瑞利分布 |
exponential | f ( x ) = 1 λ exp − x λ f(x)=\frac{1}{\lambda}\exp{-\frac{x}{\lambda}} f(x)=λ1exp−λx | 指数分布 |
laplace | f ( x ) = 1 2 λ exp [ − ∣ x − μ ∣ λ ] f(x)=\frac{1}{2\lambda}\exp[-\frac{\vert x-\mu\vert}{\lambda}] f(x)=2λ1exp[−λ∣x−μ∣] | 拉普拉斯分布 |
实战
用numpy实现平面拟合