scipy.special.boxcox1p#
- scipy.special.boxcox1p(x, lmbda, out=None) = <ufunc 'boxcox1p'>#
计算 \(1 + x\) 的 Box-Cox 变换。
boxcox1p计算的 Box-Cox 变换为:\[\begin{split}y = \begin{cases} ((1+x)^\lambda - 1) / \lambda & \text{如果 } \lambda \neq 0 \\ \log(1+x) & \text{如果 } \lambda = 0 \end{cases}\end{split}\]如果 \(x < -1\),返回
nan。如果 \(x = -1\) 且 \(\lambda \leq 0\),返回-inf。- 参数:
- xarray_like
要转换的数据。
- lmbdaarray_like
Box-Cox 变换的幂参数 \(\lambda\)。
- outndarray, optional
用于存放函数值的可选输出数组。
- 返回:
- y标量或 ndarray
转换后的数据。
另请参阅
boxcoxBox-Cox 变换。
inv_boxcox1p1 + x的 Box-Cox 变换的逆变换。
附注
在 0.14.0 版本中添加。
数组 API 标准支持
boxcox1p除了支持 NumPy 外,还对符合 Python 数组 API 标准的后端提供了实验性支持。请考虑通过设置环境变量SCIPY_ARRAY_API=1并提供 CuPy、PyTorch、JAX 或 Dask 数组作为数组参数来测试这些功能。目前支持以下后端与设备(或其他功能)的组合。库
CPU
GPU
NumPy
✅
不适用
CuPy
不适用
✅
PyTorch
✅
⛔
JAX
✅
⛔
Dask
✅
不适用
有关更多信息,请参阅 对数组 API 标准的支持。
示例
>>> from scipy.special import boxcox1p >>> boxcox1p(1e-4, [0, 0.5, 1]) array([ 9.99950003e-05, 9.99975001e-05, 1.00000000e-04]) >>> boxcox1p([0.01, 0.1], 0.25) array([ 0.00996272, 0.09645476])