985 lines
24 KiB
Python
985 lines
24 KiB
Python
# ruff: noqa: ANN401
|
|
from collections.abc import Callable, Iterable, Sequence
|
|
from typing import (
|
|
Any,
|
|
Concatenate,
|
|
ParamSpec,
|
|
Protocol,
|
|
SupportsIndex,
|
|
SupportsInt,
|
|
TypeAlias,
|
|
TypeVar,
|
|
overload,
|
|
type_check_only,
|
|
)
|
|
from typing import Literal as L
|
|
|
|
from _typeshed import Incomplete
|
|
from typing_extensions import TypeIs, deprecated
|
|
|
|
import numpy as np
|
|
from numpy import (
|
|
_OrderKACF,
|
|
bool_,
|
|
complex128,
|
|
complexfloating,
|
|
datetime64,
|
|
float64,
|
|
floating,
|
|
generic,
|
|
integer,
|
|
intp,
|
|
object_,
|
|
timedelta64,
|
|
vectorize,
|
|
)
|
|
from numpy._core.multiarray import bincount
|
|
from numpy._globals import _NoValueType
|
|
from numpy._typing import (
|
|
ArrayLike,
|
|
DTypeLike,
|
|
NDArray,
|
|
_ArrayLike,
|
|
_ArrayLikeBool_co,
|
|
_ArrayLikeComplex_co,
|
|
_ArrayLikeDT64_co,
|
|
_ArrayLikeFloat_co,
|
|
_ArrayLikeInt_co,
|
|
_ArrayLikeNumber_co,
|
|
_ArrayLikeObject_co,
|
|
_ArrayLikeTD64_co,
|
|
_ComplexLike_co,
|
|
_DTypeLike,
|
|
_FloatLike_co,
|
|
_NestedSequence,
|
|
_NumberLike_co,
|
|
_ScalarLike_co,
|
|
_ShapeLike,
|
|
)
|
|
|
|
__all__ = [
|
|
"select",
|
|
"piecewise",
|
|
"trim_zeros",
|
|
"copy",
|
|
"iterable",
|
|
"percentile",
|
|
"diff",
|
|
"gradient",
|
|
"angle",
|
|
"unwrap",
|
|
"sort_complex",
|
|
"flip",
|
|
"rot90",
|
|
"extract",
|
|
"place",
|
|
"vectorize",
|
|
"asarray_chkfinite",
|
|
"average",
|
|
"bincount",
|
|
"digitize",
|
|
"cov",
|
|
"corrcoef",
|
|
"median",
|
|
"sinc",
|
|
"hamming",
|
|
"hanning",
|
|
"bartlett",
|
|
"blackman",
|
|
"kaiser",
|
|
"trapezoid",
|
|
"trapz",
|
|
"i0",
|
|
"meshgrid",
|
|
"delete",
|
|
"insert",
|
|
"append",
|
|
"interp",
|
|
"quantile",
|
|
]
|
|
|
|
_T = TypeVar("_T")
|
|
_T_co = TypeVar("_T_co", covariant=True)
|
|
# The `{}ss` suffix refers to the Python 3.12 syntax: `**P`
|
|
_Pss = ParamSpec("_Pss")
|
|
_ScalarT = TypeVar("_ScalarT", bound=generic)
|
|
_ScalarT1 = TypeVar("_ScalarT1", bound=generic)
|
|
_ScalarT2 = TypeVar("_ScalarT2", bound=generic)
|
|
_ArrayT = TypeVar("_ArrayT", bound=np.ndarray)
|
|
|
|
_2Tuple: TypeAlias = tuple[_T, _T]
|
|
_MeshgridIdx: TypeAlias = L['ij', 'xy']
|
|
|
|
@type_check_only
|
|
class _TrimZerosSequence(Protocol[_T_co]):
|
|
def __len__(self, /) -> int: ...
|
|
@overload
|
|
def __getitem__(self, key: int, /) -> object: ...
|
|
@overload
|
|
def __getitem__(self, key: slice, /) -> _T_co: ...
|
|
|
|
###
|
|
|
|
@overload
|
|
def rot90(
|
|
m: _ArrayLike[_ScalarT],
|
|
k: int = ...,
|
|
axes: tuple[int, int] = ...,
|
|
) -> NDArray[_ScalarT]: ...
|
|
@overload
|
|
def rot90(
|
|
m: ArrayLike,
|
|
k: int = ...,
|
|
axes: tuple[int, int] = ...,
|
|
) -> NDArray[Any]: ...
|
|
|
|
@overload
|
|
def flip(m: _ScalarT, axis: None = ...) -> _ScalarT: ...
|
|
@overload
|
|
def flip(m: _ScalarLike_co, axis: None = ...) -> Any: ...
|
|
@overload
|
|
def flip(m: _ArrayLike[_ScalarT], axis: _ShapeLike | None = ...) -> NDArray[_ScalarT]: ...
|
|
@overload
|
|
def flip(m: ArrayLike, axis: _ShapeLike | None = ...) -> NDArray[Any]: ...
|
|
|
|
def iterable(y: object) -> TypeIs[Iterable[Any]]: ...
|
|
|
|
@overload
|
|
def average(
|
|
a: _ArrayLikeFloat_co,
|
|
axis: None = None,
|
|
weights: _ArrayLikeFloat_co | None = None,
|
|
returned: L[False] = False,
|
|
*,
|
|
keepdims: L[False] | _NoValueType = ...,
|
|
) -> floating: ...
|
|
@overload
|
|
def average(
|
|
a: _ArrayLikeFloat_co,
|
|
axis: None = None,
|
|
weights: _ArrayLikeFloat_co | None = None,
|
|
*,
|
|
returned: L[True],
|
|
keepdims: L[False] | _NoValueType = ...,
|
|
) -> _2Tuple[floating]: ...
|
|
@overload
|
|
def average(
|
|
a: _ArrayLikeComplex_co,
|
|
axis: None = None,
|
|
weights: _ArrayLikeComplex_co | None = None,
|
|
returned: L[False] = False,
|
|
*,
|
|
keepdims: L[False] | _NoValueType = ...,
|
|
) -> complexfloating: ...
|
|
@overload
|
|
def average(
|
|
a: _ArrayLikeComplex_co,
|
|
axis: None = None,
|
|
weights: _ArrayLikeComplex_co | None = None,
|
|
*,
|
|
returned: L[True],
|
|
keepdims: L[False] | _NoValueType = ...,
|
|
) -> _2Tuple[complexfloating]: ...
|
|
@overload
|
|
def average(
|
|
a: _ArrayLikeComplex_co | _ArrayLikeObject_co,
|
|
axis: _ShapeLike | None = None,
|
|
weights: object | None = None,
|
|
*,
|
|
returned: L[True],
|
|
keepdims: bool | bool_ | _NoValueType = ...,
|
|
) -> _2Tuple[Incomplete]: ...
|
|
@overload
|
|
def average(
|
|
a: _ArrayLikeComplex_co | _ArrayLikeObject_co,
|
|
axis: _ShapeLike | None = None,
|
|
weights: object | None = None,
|
|
returned: bool | bool_ = False,
|
|
*,
|
|
keepdims: bool | bool_ | _NoValueType = ...,
|
|
) -> Incomplete: ...
|
|
|
|
@overload
|
|
def asarray_chkfinite(
|
|
a: _ArrayLike[_ScalarT],
|
|
dtype: None = ...,
|
|
order: _OrderKACF = ...,
|
|
) -> NDArray[_ScalarT]: ...
|
|
@overload
|
|
def asarray_chkfinite(
|
|
a: object,
|
|
dtype: None = ...,
|
|
order: _OrderKACF = ...,
|
|
) -> NDArray[Any]: ...
|
|
@overload
|
|
def asarray_chkfinite(
|
|
a: Any,
|
|
dtype: _DTypeLike[_ScalarT],
|
|
order: _OrderKACF = ...,
|
|
) -> NDArray[_ScalarT]: ...
|
|
@overload
|
|
def asarray_chkfinite(
|
|
a: Any,
|
|
dtype: DTypeLike,
|
|
order: _OrderKACF = ...,
|
|
) -> NDArray[Any]: ...
|
|
|
|
@overload
|
|
def piecewise(
|
|
x: _ArrayLike[_ScalarT],
|
|
condlist: _ArrayLike[bool_] | Sequence[_ArrayLikeBool_co],
|
|
funclist: Sequence[
|
|
Callable[Concatenate[NDArray[_ScalarT], _Pss], NDArray[_ScalarT | Any]]
|
|
| _ScalarT | object
|
|
],
|
|
/,
|
|
*args: _Pss.args,
|
|
**kw: _Pss.kwargs,
|
|
) -> NDArray[_ScalarT]: ...
|
|
@overload
|
|
def piecewise(
|
|
x: ArrayLike,
|
|
condlist: _ArrayLike[bool_] | Sequence[_ArrayLikeBool_co],
|
|
funclist: Sequence[
|
|
Callable[Concatenate[NDArray[Any], _Pss], NDArray[Any]]
|
|
| object
|
|
],
|
|
/,
|
|
*args: _Pss.args,
|
|
**kw: _Pss.kwargs,
|
|
) -> NDArray[Any]: ...
|
|
|
|
def select(
|
|
condlist: Sequence[ArrayLike],
|
|
choicelist: Sequence[ArrayLike],
|
|
default: ArrayLike = ...,
|
|
) -> NDArray[Any]: ...
|
|
|
|
@overload
|
|
def copy(
|
|
a: _ArrayT,
|
|
order: _OrderKACF,
|
|
subok: L[True],
|
|
) -> _ArrayT: ...
|
|
@overload
|
|
def copy(
|
|
a: _ArrayT,
|
|
order: _OrderKACF = ...,
|
|
*,
|
|
subok: L[True],
|
|
) -> _ArrayT: ...
|
|
@overload
|
|
def copy(
|
|
a: _ArrayLike[_ScalarT],
|
|
order: _OrderKACF = ...,
|
|
subok: L[False] = ...,
|
|
) -> NDArray[_ScalarT]: ...
|
|
@overload
|
|
def copy(
|
|
a: ArrayLike,
|
|
order: _OrderKACF = ...,
|
|
subok: L[False] = ...,
|
|
) -> NDArray[Any]: ...
|
|
|
|
def gradient(
|
|
f: ArrayLike,
|
|
*varargs: ArrayLike,
|
|
axis: _ShapeLike | None = ...,
|
|
edge_order: L[1, 2] = ...,
|
|
) -> Any: ...
|
|
|
|
@overload
|
|
def diff(
|
|
a: _T,
|
|
n: L[0],
|
|
axis: SupportsIndex = ...,
|
|
prepend: ArrayLike = ...,
|
|
append: ArrayLike = ...,
|
|
) -> _T: ...
|
|
@overload
|
|
def diff(
|
|
a: ArrayLike,
|
|
n: int = ...,
|
|
axis: SupportsIndex = ...,
|
|
prepend: ArrayLike = ...,
|
|
append: ArrayLike = ...,
|
|
) -> NDArray[Any]: ...
|
|
|
|
@overload # float scalar
|
|
def interp(
|
|
x: _FloatLike_co,
|
|
xp: _ArrayLikeFloat_co,
|
|
fp: _ArrayLikeFloat_co,
|
|
left: _FloatLike_co | None = None,
|
|
right: _FloatLike_co | None = None,
|
|
period: _FloatLike_co | None = None,
|
|
) -> float64: ...
|
|
@overload # float array
|
|
def interp(
|
|
x: NDArray[floating | integer | np.bool] | _NestedSequence[_FloatLike_co],
|
|
xp: _ArrayLikeFloat_co,
|
|
fp: _ArrayLikeFloat_co,
|
|
left: _FloatLike_co | None = None,
|
|
right: _FloatLike_co | None = None,
|
|
period: _FloatLike_co | None = None,
|
|
) -> NDArray[float64]: ...
|
|
@overload # float scalar or array
|
|
def interp(
|
|
x: _ArrayLikeFloat_co,
|
|
xp: _ArrayLikeFloat_co,
|
|
fp: _ArrayLikeFloat_co,
|
|
left: _FloatLike_co | None = None,
|
|
right: _FloatLike_co | None = None,
|
|
period: _FloatLike_co | None = None,
|
|
) -> NDArray[float64] | float64: ...
|
|
@overload # complex scalar
|
|
def interp(
|
|
x: _FloatLike_co,
|
|
xp: _ArrayLikeFloat_co,
|
|
fp: _ArrayLike[complexfloating],
|
|
left: _NumberLike_co | None = None,
|
|
right: _NumberLike_co | None = None,
|
|
period: _FloatLike_co | None = None,
|
|
) -> complex128: ...
|
|
@overload # complex or float scalar
|
|
def interp(
|
|
x: _FloatLike_co,
|
|
xp: _ArrayLikeFloat_co,
|
|
fp: Sequence[complex | complexfloating],
|
|
left: _NumberLike_co | None = None,
|
|
right: _NumberLike_co | None = None,
|
|
period: _FloatLike_co | None = None,
|
|
) -> complex128 | float64: ...
|
|
@overload # complex array
|
|
def interp(
|
|
x: NDArray[floating | integer | np.bool] | _NestedSequence[_FloatLike_co],
|
|
xp: _ArrayLikeFloat_co,
|
|
fp: _ArrayLike[complexfloating],
|
|
left: _NumberLike_co | None = None,
|
|
right: _NumberLike_co | None = None,
|
|
period: _FloatLike_co | None = None,
|
|
) -> NDArray[complex128]: ...
|
|
@overload # complex or float array
|
|
def interp(
|
|
x: NDArray[floating | integer | np.bool] | _NestedSequence[_FloatLike_co],
|
|
xp: _ArrayLikeFloat_co,
|
|
fp: Sequence[complex | complexfloating],
|
|
left: _NumberLike_co | None = None,
|
|
right: _NumberLike_co | None = None,
|
|
period: _FloatLike_co | None = None,
|
|
) -> NDArray[complex128 | float64]: ...
|
|
@overload # complex scalar or array
|
|
def interp(
|
|
x: _ArrayLikeFloat_co,
|
|
xp: _ArrayLikeFloat_co,
|
|
fp: _ArrayLike[complexfloating],
|
|
left: _NumberLike_co | None = None,
|
|
right: _NumberLike_co | None = None,
|
|
period: _FloatLike_co | None = None,
|
|
) -> NDArray[complex128] | complex128: ...
|
|
@overload # complex or float scalar or array
|
|
def interp(
|
|
x: _ArrayLikeFloat_co,
|
|
xp: _ArrayLikeFloat_co,
|
|
fp: _ArrayLikeNumber_co,
|
|
left: _NumberLike_co | None = None,
|
|
right: _NumberLike_co | None = None,
|
|
period: _FloatLike_co | None = None,
|
|
) -> NDArray[complex128 | float64] | complex128 | float64: ...
|
|
|
|
@overload
|
|
def angle(z: _ComplexLike_co, deg: bool = ...) -> floating: ...
|
|
@overload
|
|
def angle(z: object_, deg: bool = ...) -> Any: ...
|
|
@overload
|
|
def angle(z: _ArrayLikeComplex_co, deg: bool = ...) -> NDArray[floating]: ...
|
|
@overload
|
|
def angle(z: _ArrayLikeObject_co, deg: bool = ...) -> NDArray[object_]: ...
|
|
|
|
@overload
|
|
def unwrap(
|
|
p: _ArrayLikeFloat_co,
|
|
discont: float | None = ...,
|
|
axis: int = ...,
|
|
*,
|
|
period: float = ...,
|
|
) -> NDArray[floating]: ...
|
|
@overload
|
|
def unwrap(
|
|
p: _ArrayLikeObject_co,
|
|
discont: float | None = ...,
|
|
axis: int = ...,
|
|
*,
|
|
period: float = ...,
|
|
) -> NDArray[object_]: ...
|
|
|
|
def sort_complex(a: ArrayLike) -> NDArray[complexfloating]: ...
|
|
|
|
def trim_zeros(
|
|
filt: _TrimZerosSequence[_T],
|
|
trim: L["f", "b", "fb", "bf"] = ...,
|
|
) -> _T: ...
|
|
|
|
@overload
|
|
def extract(condition: ArrayLike, arr: _ArrayLike[_ScalarT]) -> NDArray[_ScalarT]: ...
|
|
@overload
|
|
def extract(condition: ArrayLike, arr: ArrayLike) -> NDArray[Any]: ...
|
|
|
|
def place(arr: NDArray[Any], mask: ArrayLike, vals: Any) -> None: ...
|
|
|
|
@overload
|
|
def cov(
|
|
m: _ArrayLikeFloat_co,
|
|
y: _ArrayLikeFloat_co | None = ...,
|
|
rowvar: bool = ...,
|
|
bias: bool = ...,
|
|
ddof: SupportsIndex | SupportsInt | None = ...,
|
|
fweights: ArrayLike | None = ...,
|
|
aweights: ArrayLike | None = ...,
|
|
*,
|
|
dtype: None = ...,
|
|
) -> NDArray[floating]: ...
|
|
@overload
|
|
def cov(
|
|
m: _ArrayLikeComplex_co,
|
|
y: _ArrayLikeComplex_co | None = ...,
|
|
rowvar: bool = ...,
|
|
bias: bool = ...,
|
|
ddof: SupportsIndex | SupportsInt | None = ...,
|
|
fweights: ArrayLike | None = ...,
|
|
aweights: ArrayLike | None = ...,
|
|
*,
|
|
dtype: None = ...,
|
|
) -> NDArray[complexfloating]: ...
|
|
@overload
|
|
def cov(
|
|
m: _ArrayLikeComplex_co,
|
|
y: _ArrayLikeComplex_co | None = ...,
|
|
rowvar: bool = ...,
|
|
bias: bool = ...,
|
|
ddof: SupportsIndex | SupportsInt | None = ...,
|
|
fweights: ArrayLike | None = ...,
|
|
aweights: ArrayLike | None = ...,
|
|
*,
|
|
dtype: _DTypeLike[_ScalarT],
|
|
) -> NDArray[_ScalarT]: ...
|
|
@overload
|
|
def cov(
|
|
m: _ArrayLikeComplex_co,
|
|
y: _ArrayLikeComplex_co | None = ...,
|
|
rowvar: bool = ...,
|
|
bias: bool = ...,
|
|
ddof: SupportsIndex | SupportsInt | None = ...,
|
|
fweights: ArrayLike | None = ...,
|
|
aweights: ArrayLike | None = ...,
|
|
*,
|
|
dtype: DTypeLike,
|
|
) -> NDArray[Any]: ...
|
|
|
|
# NOTE `bias` and `ddof` are deprecated and ignored
|
|
@overload
|
|
def corrcoef(
|
|
m: _ArrayLikeFloat_co,
|
|
y: _ArrayLikeFloat_co | None = None,
|
|
rowvar: bool = True,
|
|
bias: _NoValueType = ...,
|
|
ddof: _NoValueType = ...,
|
|
*,
|
|
dtype: None = None,
|
|
) -> NDArray[floating]: ...
|
|
@overload
|
|
def corrcoef(
|
|
m: _ArrayLikeComplex_co,
|
|
y: _ArrayLikeComplex_co | None = None,
|
|
rowvar: bool = True,
|
|
bias: _NoValueType = ...,
|
|
ddof: _NoValueType = ...,
|
|
*,
|
|
dtype: None = None,
|
|
) -> NDArray[complexfloating]: ...
|
|
@overload
|
|
def corrcoef(
|
|
m: _ArrayLikeComplex_co,
|
|
y: _ArrayLikeComplex_co | None = None,
|
|
rowvar: bool = True,
|
|
bias: _NoValueType = ...,
|
|
ddof: _NoValueType = ...,
|
|
*,
|
|
dtype: _DTypeLike[_ScalarT],
|
|
) -> NDArray[_ScalarT]: ...
|
|
@overload
|
|
def corrcoef(
|
|
m: _ArrayLikeComplex_co,
|
|
y: _ArrayLikeComplex_co | None = None,
|
|
rowvar: bool = True,
|
|
bias: _NoValueType = ...,
|
|
ddof: _NoValueType = ...,
|
|
*,
|
|
dtype: DTypeLike | None = None,
|
|
) -> NDArray[Any]: ...
|
|
|
|
def blackman(M: _FloatLike_co) -> NDArray[floating]: ...
|
|
|
|
def bartlett(M: _FloatLike_co) -> NDArray[floating]: ...
|
|
|
|
def hanning(M: _FloatLike_co) -> NDArray[floating]: ...
|
|
|
|
def hamming(M: _FloatLike_co) -> NDArray[floating]: ...
|
|
|
|
def i0(x: _ArrayLikeFloat_co) -> NDArray[floating]: ...
|
|
|
|
def kaiser(
|
|
M: _FloatLike_co,
|
|
beta: _FloatLike_co,
|
|
) -> NDArray[floating]: ...
|
|
|
|
@overload
|
|
def sinc(x: _FloatLike_co) -> floating: ...
|
|
@overload
|
|
def sinc(x: _ComplexLike_co) -> complexfloating: ...
|
|
@overload
|
|
def sinc(x: _ArrayLikeFloat_co) -> NDArray[floating]: ...
|
|
@overload
|
|
def sinc(x: _ArrayLikeComplex_co) -> NDArray[complexfloating]: ...
|
|
|
|
@overload
|
|
def median(
|
|
a: _ArrayLikeFloat_co,
|
|
axis: None = ...,
|
|
out: None = ...,
|
|
overwrite_input: bool = ...,
|
|
keepdims: L[False] = ...,
|
|
) -> floating: ...
|
|
@overload
|
|
def median(
|
|
a: _ArrayLikeComplex_co,
|
|
axis: None = ...,
|
|
out: None = ...,
|
|
overwrite_input: bool = ...,
|
|
keepdims: L[False] = ...,
|
|
) -> complexfloating: ...
|
|
@overload
|
|
def median(
|
|
a: _ArrayLikeTD64_co,
|
|
axis: None = ...,
|
|
out: None = ...,
|
|
overwrite_input: bool = ...,
|
|
keepdims: L[False] = ...,
|
|
) -> timedelta64: ...
|
|
@overload
|
|
def median(
|
|
a: _ArrayLikeObject_co,
|
|
axis: None = ...,
|
|
out: None = ...,
|
|
overwrite_input: bool = ...,
|
|
keepdims: L[False] = ...,
|
|
) -> Any: ...
|
|
@overload
|
|
def median(
|
|
a: _ArrayLikeFloat_co | _ArrayLikeComplex_co | _ArrayLikeTD64_co | _ArrayLikeObject_co,
|
|
axis: _ShapeLike | None = ...,
|
|
out: None = ...,
|
|
overwrite_input: bool = ...,
|
|
keepdims: bool = ...,
|
|
) -> Any: ...
|
|
@overload
|
|
def median(
|
|
a: _ArrayLikeFloat_co | _ArrayLikeComplex_co | _ArrayLikeTD64_co | _ArrayLikeObject_co,
|
|
axis: _ShapeLike | None,
|
|
out: _ArrayT,
|
|
overwrite_input: bool = ...,
|
|
keepdims: bool = ...,
|
|
) -> _ArrayT: ...
|
|
@overload
|
|
def median(
|
|
a: _ArrayLikeFloat_co | _ArrayLikeComplex_co | _ArrayLikeTD64_co | _ArrayLikeObject_co,
|
|
axis: _ShapeLike | None = ...,
|
|
*,
|
|
out: _ArrayT,
|
|
overwrite_input: bool = ...,
|
|
keepdims: bool = ...,
|
|
) -> _ArrayT: ...
|
|
|
|
_MethodKind = L[
|
|
"inverted_cdf",
|
|
"averaged_inverted_cdf",
|
|
"closest_observation",
|
|
"interpolated_inverted_cdf",
|
|
"hazen",
|
|
"weibull",
|
|
"linear",
|
|
"median_unbiased",
|
|
"normal_unbiased",
|
|
"lower",
|
|
"higher",
|
|
"midpoint",
|
|
"nearest",
|
|
]
|
|
|
|
@overload
|
|
def percentile(
|
|
a: _ArrayLikeFloat_co,
|
|
q: _FloatLike_co,
|
|
axis: None = ...,
|
|
out: None = ...,
|
|
overwrite_input: bool = ...,
|
|
method: _MethodKind = ...,
|
|
keepdims: L[False] = ...,
|
|
*,
|
|
weights: _ArrayLikeFloat_co | None = ...,
|
|
) -> floating: ...
|
|
@overload
|
|
def percentile(
|
|
a: _ArrayLikeComplex_co,
|
|
q: _FloatLike_co,
|
|
axis: None = ...,
|
|
out: None = ...,
|
|
overwrite_input: bool = ...,
|
|
method: _MethodKind = ...,
|
|
keepdims: L[False] = ...,
|
|
*,
|
|
weights: _ArrayLikeFloat_co | None = ...,
|
|
) -> complexfloating: ...
|
|
@overload
|
|
def percentile(
|
|
a: _ArrayLikeTD64_co,
|
|
q: _FloatLike_co,
|
|
axis: None = ...,
|
|
out: None = ...,
|
|
overwrite_input: bool = ...,
|
|
method: _MethodKind = ...,
|
|
keepdims: L[False] = ...,
|
|
*,
|
|
weights: _ArrayLikeFloat_co | None = ...,
|
|
) -> timedelta64: ...
|
|
@overload
|
|
def percentile(
|
|
a: _ArrayLikeDT64_co,
|
|
q: _FloatLike_co,
|
|
axis: None = ...,
|
|
out: None = ...,
|
|
overwrite_input: bool = ...,
|
|
method: _MethodKind = ...,
|
|
keepdims: L[False] = ...,
|
|
*,
|
|
weights: _ArrayLikeFloat_co | None = ...,
|
|
) -> datetime64: ...
|
|
@overload
|
|
def percentile(
|
|
a: _ArrayLikeObject_co,
|
|
q: _FloatLike_co,
|
|
axis: None = ...,
|
|
out: None = ...,
|
|
overwrite_input: bool = ...,
|
|
method: _MethodKind = ...,
|
|
keepdims: L[False] = ...,
|
|
*,
|
|
weights: _ArrayLikeFloat_co | None = ...,
|
|
) -> Any: ...
|
|
@overload
|
|
def percentile(
|
|
a: _ArrayLikeFloat_co,
|
|
q: _ArrayLikeFloat_co,
|
|
axis: None = ...,
|
|
out: None = ...,
|
|
overwrite_input: bool = ...,
|
|
method: _MethodKind = ...,
|
|
keepdims: L[False] = ...,
|
|
*,
|
|
weights: _ArrayLikeFloat_co | None = ...,
|
|
) -> NDArray[floating]: ...
|
|
@overload
|
|
def percentile(
|
|
a: _ArrayLikeComplex_co,
|
|
q: _ArrayLikeFloat_co,
|
|
axis: None = ...,
|
|
out: None = ...,
|
|
overwrite_input: bool = ...,
|
|
method: _MethodKind = ...,
|
|
keepdims: L[False] = ...,
|
|
*,
|
|
weights: _ArrayLikeFloat_co | None = ...,
|
|
) -> NDArray[complexfloating]: ...
|
|
@overload
|
|
def percentile(
|
|
a: _ArrayLikeTD64_co,
|
|
q: _ArrayLikeFloat_co,
|
|
axis: None = ...,
|
|
out: None = ...,
|
|
overwrite_input: bool = ...,
|
|
method: _MethodKind = ...,
|
|
keepdims: L[False] = ...,
|
|
*,
|
|
weights: _ArrayLikeFloat_co | None = ...,
|
|
) -> NDArray[timedelta64]: ...
|
|
@overload
|
|
def percentile(
|
|
a: _ArrayLikeDT64_co,
|
|
q: _ArrayLikeFloat_co,
|
|
axis: None = ...,
|
|
out: None = ...,
|
|
overwrite_input: bool = ...,
|
|
method: _MethodKind = ...,
|
|
keepdims: L[False] = ...,
|
|
*,
|
|
weights: _ArrayLikeFloat_co | None = ...,
|
|
) -> NDArray[datetime64]: ...
|
|
@overload
|
|
def percentile(
|
|
a: _ArrayLikeObject_co,
|
|
q: _ArrayLikeFloat_co,
|
|
axis: None = ...,
|
|
out: None = ...,
|
|
overwrite_input: bool = ...,
|
|
method: _MethodKind = ...,
|
|
keepdims: L[False] = ...,
|
|
*,
|
|
weights: _ArrayLikeFloat_co | None = ...,
|
|
) -> NDArray[object_]: ...
|
|
@overload
|
|
def percentile(
|
|
a: _ArrayLikeComplex_co | _ArrayLikeTD64_co | _ArrayLikeDT64_co | _ArrayLikeObject_co,
|
|
q: _ArrayLikeFloat_co,
|
|
axis: _ShapeLike | None = ...,
|
|
out: None = ...,
|
|
overwrite_input: bool = ...,
|
|
method: _MethodKind = ...,
|
|
keepdims: bool = ...,
|
|
*,
|
|
weights: _ArrayLikeFloat_co | None = ...,
|
|
) -> Any: ...
|
|
@overload
|
|
def percentile(
|
|
a: _ArrayLikeComplex_co | _ArrayLikeTD64_co | _ArrayLikeDT64_co | _ArrayLikeObject_co,
|
|
q: _ArrayLikeFloat_co,
|
|
axis: _ShapeLike | None,
|
|
out: _ArrayT,
|
|
overwrite_input: bool = ...,
|
|
method: _MethodKind = ...,
|
|
keepdims: bool = ...,
|
|
*,
|
|
weights: _ArrayLikeFloat_co | None = ...,
|
|
) -> _ArrayT: ...
|
|
@overload
|
|
def percentile(
|
|
a: _ArrayLikeComplex_co | _ArrayLikeTD64_co | _ArrayLikeDT64_co | _ArrayLikeObject_co,
|
|
q: _ArrayLikeFloat_co,
|
|
axis: _ShapeLike | None = ...,
|
|
*,
|
|
out: _ArrayT,
|
|
overwrite_input: bool = ...,
|
|
method: _MethodKind = ...,
|
|
keepdims: bool = ...,
|
|
weights: _ArrayLikeFloat_co | None = ...,
|
|
) -> _ArrayT: ...
|
|
|
|
# NOTE: Not an alias, but they do have identical signatures
|
|
# (that we can reuse)
|
|
quantile = percentile
|
|
|
|
_ScalarT_fm = TypeVar(
|
|
"_ScalarT_fm",
|
|
bound=floating | complexfloating | timedelta64,
|
|
)
|
|
|
|
class _SupportsRMulFloat(Protocol[_T_co]):
|
|
def __rmul__(self, other: float, /) -> _T_co: ...
|
|
|
|
@overload
|
|
def trapezoid( # type: ignore[overload-overlap]
|
|
y: Sequence[_FloatLike_co],
|
|
x: Sequence[_FloatLike_co] | None = ...,
|
|
dx: float = ...,
|
|
axis: SupportsIndex = ...,
|
|
) -> float64: ...
|
|
@overload
|
|
def trapezoid(
|
|
y: Sequence[_ComplexLike_co],
|
|
x: Sequence[_ComplexLike_co] | None = ...,
|
|
dx: float = ...,
|
|
axis: SupportsIndex = ...,
|
|
) -> complex128: ...
|
|
@overload
|
|
def trapezoid(
|
|
y: _ArrayLike[bool_ | integer],
|
|
x: _ArrayLike[bool_ | integer] | None = ...,
|
|
dx: float = ...,
|
|
axis: SupportsIndex = ...,
|
|
) -> float64 | NDArray[float64]: ...
|
|
@overload
|
|
def trapezoid( # type: ignore[overload-overlap]
|
|
y: _ArrayLikeObject_co,
|
|
x: _ArrayLikeFloat_co | _ArrayLikeObject_co | None = ...,
|
|
dx: float = ...,
|
|
axis: SupportsIndex = ...,
|
|
) -> float | NDArray[object_]: ...
|
|
@overload
|
|
def trapezoid(
|
|
y: _ArrayLike[_ScalarT_fm],
|
|
x: _ArrayLike[_ScalarT_fm] | _ArrayLikeInt_co | None = ...,
|
|
dx: float = ...,
|
|
axis: SupportsIndex = ...,
|
|
) -> _ScalarT_fm | NDArray[_ScalarT_fm]: ...
|
|
@overload
|
|
def trapezoid(
|
|
y: Sequence[_SupportsRMulFloat[_T]],
|
|
x: Sequence[_SupportsRMulFloat[_T] | _T] | None = ...,
|
|
dx: float = ...,
|
|
axis: SupportsIndex = ...,
|
|
) -> _T: ...
|
|
@overload
|
|
def trapezoid(
|
|
y: _ArrayLikeComplex_co | _ArrayLikeTD64_co | _ArrayLikeObject_co,
|
|
x: _ArrayLikeComplex_co | _ArrayLikeTD64_co | _ArrayLikeObject_co | None = ...,
|
|
dx: float = ...,
|
|
axis: SupportsIndex = ...,
|
|
) -> (
|
|
floating | complexfloating | timedelta64
|
|
| NDArray[floating | complexfloating | timedelta64 | object_]
|
|
): ...
|
|
|
|
@deprecated("Use 'trapezoid' instead")
|
|
def trapz(y: ArrayLike, x: ArrayLike | None = None, dx: float = 1.0, axis: int = -1) -> generic | NDArray[generic]: ...
|
|
|
|
@overload
|
|
def meshgrid(
|
|
*,
|
|
copy: bool = ...,
|
|
sparse: bool = ...,
|
|
indexing: _MeshgridIdx = ...,
|
|
) -> tuple[()]: ...
|
|
@overload
|
|
def meshgrid(
|
|
x1: _ArrayLike[_ScalarT],
|
|
/,
|
|
*,
|
|
copy: bool = ...,
|
|
sparse: bool = ...,
|
|
indexing: _MeshgridIdx = ...,
|
|
) -> tuple[NDArray[_ScalarT]]: ...
|
|
@overload
|
|
def meshgrid(
|
|
x1: ArrayLike,
|
|
/,
|
|
*,
|
|
copy: bool = ...,
|
|
sparse: bool = ...,
|
|
indexing: _MeshgridIdx = ...,
|
|
) -> tuple[NDArray[Any]]: ...
|
|
@overload
|
|
def meshgrid(
|
|
x1: _ArrayLike[_ScalarT1],
|
|
x2: _ArrayLike[_ScalarT2],
|
|
/,
|
|
*,
|
|
copy: bool = ...,
|
|
sparse: bool = ...,
|
|
indexing: _MeshgridIdx = ...,
|
|
) -> tuple[NDArray[_ScalarT1], NDArray[_ScalarT2]]: ...
|
|
@overload
|
|
def meshgrid(
|
|
x1: ArrayLike,
|
|
x2: _ArrayLike[_ScalarT],
|
|
/,
|
|
*,
|
|
copy: bool = ...,
|
|
sparse: bool = ...,
|
|
indexing: _MeshgridIdx = ...,
|
|
) -> tuple[NDArray[Any], NDArray[_ScalarT]]: ...
|
|
@overload
|
|
def meshgrid(
|
|
x1: _ArrayLike[_ScalarT],
|
|
x2: ArrayLike,
|
|
/,
|
|
*,
|
|
copy: bool = ...,
|
|
sparse: bool = ...,
|
|
indexing: _MeshgridIdx = ...,
|
|
) -> tuple[NDArray[_ScalarT], NDArray[Any]]: ...
|
|
@overload
|
|
def meshgrid(
|
|
x1: ArrayLike,
|
|
x2: ArrayLike,
|
|
/,
|
|
*,
|
|
copy: bool = ...,
|
|
sparse: bool = ...,
|
|
indexing: _MeshgridIdx = ...,
|
|
) -> tuple[NDArray[Any], NDArray[Any]]: ...
|
|
@overload
|
|
def meshgrid(
|
|
x1: ArrayLike,
|
|
x2: ArrayLike,
|
|
x3: ArrayLike,
|
|
/,
|
|
*,
|
|
copy: bool = ...,
|
|
sparse: bool = ...,
|
|
indexing: _MeshgridIdx = ...,
|
|
) -> tuple[NDArray[Any], NDArray[Any], NDArray[Any]]: ...
|
|
@overload
|
|
def meshgrid(
|
|
x1: ArrayLike,
|
|
x2: ArrayLike,
|
|
x3: ArrayLike,
|
|
x4: ArrayLike,
|
|
/,
|
|
*,
|
|
copy: bool = ...,
|
|
sparse: bool = ...,
|
|
indexing: _MeshgridIdx = ...,
|
|
) -> tuple[NDArray[Any], NDArray[Any], NDArray[Any], NDArray[Any]]: ...
|
|
@overload
|
|
def meshgrid(
|
|
*xi: ArrayLike,
|
|
copy: bool = ...,
|
|
sparse: bool = ...,
|
|
indexing: _MeshgridIdx = ...,
|
|
) -> tuple[NDArray[Any], ...]: ...
|
|
|
|
@overload
|
|
def delete(
|
|
arr: _ArrayLike[_ScalarT],
|
|
obj: slice | _ArrayLikeInt_co,
|
|
axis: SupportsIndex | None = ...,
|
|
) -> NDArray[_ScalarT]: ...
|
|
@overload
|
|
def delete(
|
|
arr: ArrayLike,
|
|
obj: slice | _ArrayLikeInt_co,
|
|
axis: SupportsIndex | None = ...,
|
|
) -> NDArray[Any]: ...
|
|
|
|
@overload
|
|
def insert(
|
|
arr: _ArrayLike[_ScalarT],
|
|
obj: slice | _ArrayLikeInt_co,
|
|
values: ArrayLike,
|
|
axis: SupportsIndex | None = ...,
|
|
) -> NDArray[_ScalarT]: ...
|
|
@overload
|
|
def insert(
|
|
arr: ArrayLike,
|
|
obj: slice | _ArrayLikeInt_co,
|
|
values: ArrayLike,
|
|
axis: SupportsIndex | None = ...,
|
|
) -> NDArray[Any]: ...
|
|
|
|
def append(
|
|
arr: ArrayLike,
|
|
values: ArrayLike,
|
|
axis: SupportsIndex | None = ...,
|
|
) -> NDArray[Any]: ...
|
|
|
|
@overload
|
|
def digitize(
|
|
x: _FloatLike_co,
|
|
bins: _ArrayLikeFloat_co,
|
|
right: bool = ...,
|
|
) -> intp: ...
|
|
@overload
|
|
def digitize(
|
|
x: _ArrayLikeFloat_co,
|
|
bins: _ArrayLikeFloat_co,
|
|
right: bool = ...,
|
|
) -> NDArray[intp]: ...
|