| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720 |
- # pyright: reportIncompatibleMethodOverride=false
- import datetime as dt
- import types
- from _typeshed import Incomplete
- from collections.abc import Callable, Sequence
- from typing import (
- Any,
- Concatenate,
- Final,
- Generic,
- Literal,
- Never,
- NoReturn,
- Self,
- SupportsComplex,
- SupportsFloat,
- SupportsIndex,
- SupportsInt,
- TypeAlias,
- Unpack,
- final,
- overload,
- )
- from typing_extensions import Buffer, ParamSpec, TypeIs, TypeVar, override
- import numpy as np
- from numpy import (
- _AnyShapeT,
- _HasDType,
- _HasDTypeWithRealAndImag,
- _ModeKind,
- _OrderACF,
- _OrderCF,
- _OrderKACF,
- _PartitionKind,
- _SortKind,
- _ToIndices,
- amax,
- amin,
- bool_,
- bytes_,
- character,
- complex128,
- complexfloating,
- datetime64,
- dtype,
- dtypes,
- expand_dims,
- flexible,
- float16,
- float32,
- float64,
- floating,
- generic,
- inexact,
- int8,
- int64,
- int_,
- integer,
- intp,
- ndarray,
- number,
- object_,
- signedinteger,
- str_,
- timedelta64,
- ufunc,
- unsignedinteger,
- void,
- )
- from numpy._core.fromnumeric import _UFuncKwargs # type-check only
- from numpy._globals import _NoValueType
- from numpy._typing import (
- ArrayLike,
- DTypeLike,
- NDArray,
- _32Bit,
- _64Bit,
- _AnyShape,
- _ArrayLike,
- _ArrayLikeBool_co,
- _ArrayLikeBytes_co,
- _ArrayLikeComplex128_co,
- _ArrayLikeComplex_co,
- _ArrayLikeDT64_co,
- _ArrayLikeFloat64_co,
- _ArrayLikeFloat_co,
- _ArrayLikeInt,
- _ArrayLikeInt_co,
- _ArrayLikeNumber_co,
- _ArrayLikeObject_co,
- _ArrayLikeStr_co,
- _ArrayLikeString_co,
- _ArrayLikeTD64_co,
- _ArrayLikeUInt_co,
- _CharLike_co,
- _DTypeLike,
- _DTypeLikeBool,
- _DTypeLikeVoid,
- _FloatLike_co,
- _IntLike_co,
- _NestedSequence,
- _ScalarLike_co,
- _Shape,
- _ShapeLike,
- _SupportsArrayFunc,
- _SupportsDType,
- _TD64Like_co,
- )
- from numpy._typing._dtype_like import _VoidDTypeLike
- __all__ = [
- "MAError",
- "MaskError",
- "MaskType",
- "MaskedArray",
- "abs",
- "absolute",
- "add",
- "all",
- "allclose",
- "allequal",
- "alltrue",
- "amax",
- "amin",
- "angle",
- "anom",
- "anomalies",
- "any",
- "append",
- "arange",
- "arccos",
- "arccosh",
- "arcsin",
- "arcsinh",
- "arctan",
- "arctan2",
- "arctanh",
- "argmax",
- "argmin",
- "argsort",
- "around",
- "array",
- "asanyarray",
- "asarray",
- "bitwise_and",
- "bitwise_or",
- "bitwise_xor",
- "bool_",
- "ceil",
- "choose",
- "clip",
- "common_fill_value",
- "compress",
- "compressed",
- "concatenate",
- "conjugate",
- "convolve",
- "copy",
- "correlate",
- "cos",
- "cosh",
- "count",
- "cumprod",
- "cumsum",
- "default_fill_value",
- "diag",
- "diagonal",
- "diff",
- "divide",
- "empty",
- "empty_like",
- "equal",
- "exp",
- "expand_dims",
- "fabs",
- "filled",
- "fix_invalid",
- "flatten_mask",
- "flatten_structured_array",
- "floor",
- "floor_divide",
- "fmod",
- "frombuffer",
- "fromflex",
- "fromfunction",
- "getdata",
- "getmask",
- "getmaskarray",
- "greater",
- "greater_equal",
- "harden_mask",
- "hypot",
- "identity",
- "ids",
- "indices",
- "inner",
- "innerproduct",
- "isMA",
- "isMaskedArray",
- "is_mask",
- "is_masked",
- "isarray",
- "left_shift",
- "less",
- "less_equal",
- "log",
- "log2",
- "log10",
- "logical_and",
- "logical_not",
- "logical_or",
- "logical_xor",
- "make_mask",
- "make_mask_descr",
- "make_mask_none",
- "mask_or",
- "masked",
- "masked_array",
- "masked_equal",
- "masked_greater",
- "masked_greater_equal",
- "masked_inside",
- "masked_invalid",
- "masked_less",
- "masked_less_equal",
- "masked_not_equal",
- "masked_object",
- "masked_outside",
- "masked_print_option",
- "masked_singleton",
- "masked_values",
- "masked_where",
- "max",
- "maximum",
- "maximum_fill_value",
- "mean",
- "min",
- "minimum",
- "minimum_fill_value",
- "mod",
- "multiply",
- "mvoid",
- "ndim",
- "negative",
- "nomask",
- "nonzero",
- "not_equal",
- "ones",
- "ones_like",
- "outer",
- "outerproduct",
- "power",
- "prod",
- "product",
- "ptp",
- "put",
- "putmask",
- "ravel",
- "remainder",
- "repeat",
- "reshape",
- "resize",
- "right_shift",
- "round",
- "round_",
- "set_fill_value",
- "shape",
- "sin",
- "sinh",
- "size",
- "soften_mask",
- "sometrue",
- "sort",
- "sqrt",
- "squeeze",
- "std",
- "subtract",
- "sum",
- "swapaxes",
- "take",
- "tan",
- "tanh",
- "trace",
- "transpose",
- "true_divide",
- "var",
- "where",
- "zeros",
- "zeros_like",
- ]
- _ShapeT = TypeVar("_ShapeT", bound=_Shape)
- _ShapeOrAnyT = TypeVar("_ShapeOrAnyT", bound=_Shape, default=_AnyShape)
- _ShapeT_co = TypeVar("_ShapeT_co", bound=_Shape, default=_AnyShape, covariant=True)
- _DTypeT = TypeVar("_DTypeT", bound=dtype)
- _DTypeT_co = TypeVar("_DTypeT_co", bound=dtype, default=dtype, covariant=True)
- _ArrayT = TypeVar("_ArrayT", bound=ndarray[Any, Any])
- _MArrayT = TypeVar("_MArrayT", bound=MaskedArray[Any, Any])
- _ScalarT = TypeVar("_ScalarT", bound=generic)
- _ScalarT_co = TypeVar("_ScalarT_co", bound=generic, covariant=True)
- _NumberT = TypeVar("_NumberT", bound=number)
- _RealNumberT = TypeVar("_RealNumberT", bound=floating | integer)
- _ArangeScalarT = TypeVar("_ArangeScalarT", bound=_ArangeScalar)
- _UFuncT_co = TypeVar(
- "_UFuncT_co",
- # the `| Callable` simplifies self-binding to the ufunc's callable signature
- bound=np.ufunc | Callable[..., object],
- default=np.ufunc,
- covariant=True,
- )
- _Pss = ParamSpec("_Pss")
- _T = TypeVar("_T")
- _Ignored: TypeAlias = object
- # A subset of `MaskedArray` that can be parametrized w.r.t. `np.generic`
- _MaskedArray: TypeAlias = MaskedArray[_AnyShape, dtype[_ScalarT]]
- _Masked1D: TypeAlias = MaskedArray[tuple[int], dtype[_ScalarT]]
- _MaskedArrayUInt_co: TypeAlias = _MaskedArray[unsignedinteger | np.bool]
- _MaskedArrayInt_co: TypeAlias = _MaskedArray[integer | np.bool]
- _MaskedArrayFloat64_co: TypeAlias = _MaskedArray[floating[_64Bit] | float32 | float16 | integer | np.bool]
- _MaskedArrayFloat_co: TypeAlias = _MaskedArray[floating | integer | np.bool]
- _MaskedArrayComplex128_co: TypeAlias = _MaskedArray[number[_64Bit] | number[_32Bit] | float16 | integer | np.bool]
- _MaskedArrayComplex_co: TypeAlias = _MaskedArray[inexact | integer | np.bool]
- _MaskedArrayNumber_co: TypeAlias = _MaskedArray[number | np.bool]
- _MaskedArrayTD64_co: TypeAlias = _MaskedArray[timedelta64 | integer | np.bool]
- _ArrayInt_co: TypeAlias = NDArray[integer | bool_]
- _Array1D: TypeAlias = np.ndarray[tuple[int], np.dtype[_ScalarT]]
- _ConvertibleToInt: TypeAlias = SupportsInt | SupportsIndex | _CharLike_co
- _ConvertibleToFloat: TypeAlias = SupportsFloat | SupportsIndex | _CharLike_co
- _ConvertibleToComplex: TypeAlias = SupportsComplex | SupportsFloat | SupportsIndex | _CharLike_co
- _ConvertibleToTD64: TypeAlias = dt.timedelta | int | _CharLike_co | character | number | timedelta64 | np.bool | None
- _ConvertibleToDT64: TypeAlias = dt.date | int | _CharLike_co | character | number | datetime64 | np.bool | None
- _ArangeScalar: TypeAlias = floating | integer | datetime64 | timedelta64
- _NoMaskType: TypeAlias = np.bool_[Literal[False]] # type of `np.False_`
- _MaskArray: TypeAlias = np.ndarray[_ShapeOrAnyT, np.dtype[np.bool_]]
- _FillValue: TypeAlias = complex | None # int | float | complex | None
- _FillValueCallable: TypeAlias = Callable[[np.dtype | ArrayLike], _FillValue]
- _DomainCallable: TypeAlias = Callable[..., NDArray[np.bool_]]
- ###
- MaskType = np.bool_
- nomask: Final[_NoMaskType] = ...
- class MaskedArrayFutureWarning(FutureWarning): ...
- class MAError(Exception): ...
- class MaskError(MAError): ...
- # not generic at runtime
- class _MaskedUFunc(Generic[_UFuncT_co]):
- f: _UFuncT_co # readonly
- def __init__(self, /, ufunc: _UFuncT_co) -> None: ...
- # not generic at runtime
- class _MaskedUnaryOperation(_MaskedUFunc[_UFuncT_co], Generic[_UFuncT_co]):
- fill: Final[_FillValue]
- domain: Final[_DomainCallable | None]
- def __init__(self, /, mufunc: _UFuncT_co, fill: _FillValue = 0, domain: _DomainCallable | None = None) -> None: ...
- # NOTE: This might not work with overloaded callable signatures might not work on
- # pyright, which is a long-standing issue, and is unique to pyright:
- # https://github.com/microsoft/pyright/issues/9663
- # https://github.com/microsoft/pyright/issues/10849
- # https://github.com/microsoft/pyright/issues/10899
- # https://github.com/microsoft/pyright/issues/11049
- def __call__(
- self: _MaskedUnaryOperation[Callable[Concatenate[Any, _Pss], _T]],
- /,
- a: ArrayLike,
- *args: _Pss.args,
- **kwargs: _Pss.kwargs,
- ) -> _T: ...
- # not generic at runtime
- class _MaskedBinaryOperation(_MaskedUFunc[_UFuncT_co], Generic[_UFuncT_co]):
- fillx: Final[_FillValue]
- filly: Final[_FillValue]
- def __init__(self, /, mbfunc: _UFuncT_co, fillx: _FillValue = 0, filly: _FillValue = 0) -> None: ...
- # NOTE: See the comment in `_MaskedUnaryOperation.__call__`
- def __call__(
- self: _MaskedBinaryOperation[Callable[Concatenate[Any, Any, _Pss], _T]],
- /,
- a: ArrayLike,
- b: ArrayLike,
- *args: _Pss.args,
- **kwargs: _Pss.kwargs,
- ) -> _T: ...
- # NOTE: We cannot meaningfully annotate the return (d)types of these methods until
- # the signatures of the corresponding `numpy.ufunc` methods are specified.
- def reduce(self, /, target: ArrayLike, axis: SupportsIndex = 0, dtype: DTypeLike | None = None) -> Incomplete: ...
- def outer(self, /, a: ArrayLike, b: ArrayLike) -> _MaskedArray[Incomplete]: ...
- def accumulate(self, /, target: ArrayLike, axis: SupportsIndex = 0) -> _MaskedArray[Incomplete]: ...
- # not generic at runtime
- class _DomainedBinaryOperation(_MaskedUFunc[_UFuncT_co], Generic[_UFuncT_co]):
- domain: Final[_DomainCallable]
- fillx: Final[_FillValue]
- filly: Final[_FillValue]
- def __init__(
- self,
- /,
- dbfunc: _UFuncT_co,
- domain: _DomainCallable,
- fillx: _FillValue = 0,
- filly: _FillValue = 0,
- ) -> None: ...
- # NOTE: See the comment in `_MaskedUnaryOperation.__call__`
- def __call__(
- self: _DomainedBinaryOperation[Callable[Concatenate[Any, Any, _Pss], _T]],
- /,
- a: ArrayLike,
- b: ArrayLike,
- *args: _Pss.args,
- **kwargs: _Pss.kwargs,
- ) -> _T: ...
- # not generic at runtime
- class _extrema_operation(_MaskedUFunc[_UFuncT_co], Generic[_UFuncT_co]):
- compare: Final[_MaskedBinaryOperation]
- fill_value_func: Final[_FillValueCallable]
- def __init__(
- self,
- /,
- ufunc: _UFuncT_co,
- compare: _MaskedBinaryOperation,
- fill_value: _FillValueCallable,
- ) -> None: ...
- # NOTE: This class is only used internally for `maximum` and `minimum`, so we are
- # able to annotate the `__call__` method specifically for those two functions.
- @overload
- def __call__(self, /, a: _ArrayLike[_ScalarT], b: _ArrayLike[_ScalarT]) -> _MaskedArray[_ScalarT]: ...
- @overload
- def __call__(self, /, a: ArrayLike, b: ArrayLike) -> _MaskedArray[Incomplete]: ...
- # NOTE: We cannot meaningfully annotate the return (d)types of these methods until
- # the signatures of the corresponding `numpy.ufunc` methods are specified.
- def reduce(self, /, target: ArrayLike, axis: SupportsIndex | _NoValueType = ...) -> Incomplete: ...
- def outer(self, /, a: ArrayLike, b: ArrayLike) -> _MaskedArray[Incomplete]: ...
- @final
- class _MaskedPrintOption:
- _display: str
- _enabled: bool | Literal[0, 1]
- def __init__(self, /, display: str) -> None: ...
- def display(self, /) -> str: ...
- def set_display(self, /, s: str) -> None: ...
- def enabled(self, /) -> bool: ...
- def enable(self, /, shrink: bool | Literal[0, 1] = 1) -> None: ...
- masked_print_option: Final[_MaskedPrintOption] = ...
- exp: _MaskedUnaryOperation = ...
- conjugate: _MaskedUnaryOperation = ...
- sin: _MaskedUnaryOperation = ...
- cos: _MaskedUnaryOperation = ...
- arctan: _MaskedUnaryOperation = ...
- arcsinh: _MaskedUnaryOperation = ...
- sinh: _MaskedUnaryOperation = ...
- cosh: _MaskedUnaryOperation = ...
- tanh: _MaskedUnaryOperation = ...
- abs: _MaskedUnaryOperation = ...
- absolute: _MaskedUnaryOperation = ...
- angle: _MaskedUnaryOperation = ...
- fabs: _MaskedUnaryOperation = ...
- negative: _MaskedUnaryOperation = ...
- floor: _MaskedUnaryOperation = ...
- ceil: _MaskedUnaryOperation = ...
- around: _MaskedUnaryOperation = ...
- logical_not: _MaskedUnaryOperation = ...
- sqrt: _MaskedUnaryOperation = ...
- log: _MaskedUnaryOperation = ...
- log2: _MaskedUnaryOperation = ...
- log10: _MaskedUnaryOperation = ...
- tan: _MaskedUnaryOperation = ...
- arcsin: _MaskedUnaryOperation = ...
- arccos: _MaskedUnaryOperation = ...
- arccosh: _MaskedUnaryOperation = ...
- arctanh: _MaskedUnaryOperation = ...
- add: _MaskedBinaryOperation = ...
- subtract: _MaskedBinaryOperation = ...
- multiply: _MaskedBinaryOperation = ...
- arctan2: _MaskedBinaryOperation = ...
- equal: _MaskedBinaryOperation = ...
- not_equal: _MaskedBinaryOperation = ...
- less_equal: _MaskedBinaryOperation = ...
- greater_equal: _MaskedBinaryOperation = ...
- less: _MaskedBinaryOperation = ...
- greater: _MaskedBinaryOperation = ...
- logical_and: _MaskedBinaryOperation = ...
- def alltrue(target: ArrayLike, axis: SupportsIndex | None = 0, dtype: _DTypeLikeBool | None = None) -> Incomplete: ...
- logical_or: _MaskedBinaryOperation = ...
- def sometrue(target: ArrayLike, axis: SupportsIndex | None = 0, dtype: _DTypeLikeBool | None = None) -> Incomplete: ...
- logical_xor: _MaskedBinaryOperation = ...
- bitwise_and: _MaskedBinaryOperation = ...
- bitwise_or: _MaskedBinaryOperation = ...
- bitwise_xor: _MaskedBinaryOperation = ...
- hypot: _MaskedBinaryOperation = ...
- divide: _DomainedBinaryOperation = ...
- true_divide: _DomainedBinaryOperation = ...
- floor_divide: _DomainedBinaryOperation = ...
- remainder: _DomainedBinaryOperation = ...
- fmod: _DomainedBinaryOperation = ...
- mod: _DomainedBinaryOperation = ...
- # `obj` can be anything (even `object()`), and is too "flexible", so we can't
- # meaningfully annotate it, or its return type.
- def default_fill_value(obj: object) -> Any: ...
- def minimum_fill_value(obj: object) -> Any: ...
- def maximum_fill_value(obj: object) -> Any: ...
- #
- @overload # returns `a.fill_value` if `a` is a `MaskedArray`
- def get_fill_value(a: _MaskedArray[_ScalarT]) -> _ScalarT: ...
- @overload # otherwise returns `default_fill_value(a)`
- def get_fill_value(a: object) -> Any: ...
- # this is a noop if `a` isn't a `MaskedArray`, so we only accept `MaskedArray` input
- def set_fill_value(a: MaskedArray, fill_value: _ScalarLike_co) -> None: ...
- # the return type depends on the *values* of `a` and `b` (which cannot be known
- # statically), which is why we need to return an awkward `_ | None`
- @overload
- def common_fill_value(a: _MaskedArray[_ScalarT], b: MaskedArray) -> _ScalarT | None: ...
- @overload
- def common_fill_value(a: object, b: object) -> Any: ...
- # keep in sync with `fix_invalid`, but return `ndarray` instead of `MaskedArray`
- @overload
- def filled(a: ndarray[_ShapeT, _DTypeT], fill_value: _ScalarLike_co | None = None) -> ndarray[_ShapeT, _DTypeT]: ...
- @overload
- def filled(a: _ArrayLike[_ScalarT], fill_value: _ScalarLike_co | None = None) -> NDArray[_ScalarT]: ...
- @overload
- def filled(a: ArrayLike, fill_value: _ScalarLike_co | None = None) -> NDArray[Incomplete]: ...
- # keep in sync with `filled`, but return `MaskedArray` instead of `ndarray`
- @overload
- def fix_invalid(
- a: np.ndarray[_ShapeT, _DTypeT],
- mask: _ArrayLikeBool_co = nomask,
- copy: bool = True,
- fill_value: _ScalarLike_co | None = None,
- ) -> MaskedArray[_ShapeT, _DTypeT]: ...
- @overload
- def fix_invalid(
- a: _ArrayLike[_ScalarT],
- mask: _ArrayLikeBool_co = nomask,
- copy: bool = True,
- fill_value: _ScalarLike_co | None = None,
- ) -> _MaskedArray[_ScalarT]: ...
- @overload
- def fix_invalid(
- a: ArrayLike,
- mask: _ArrayLikeBool_co = nomask,
- copy: bool = True,
- fill_value: _ScalarLike_co | None = None,
- ) -> _MaskedArray[Incomplete]: ...
- #
- def get_masked_subclass(*arrays: object) -> type[MaskedArray]: ...
- #
- @overload
- def getdata(a: np.ndarray[_ShapeT, _DTypeT], subok: bool = True) -> np.ndarray[_ShapeT, _DTypeT]: ...
- @overload
- def getdata(a: _ArrayLike[_ScalarT], subok: bool = True) -> NDArray[_ScalarT]: ...
- @overload
- def getdata(a: ArrayLike, subok: bool = True) -> NDArray[Incomplete]: ...
- get_data = getdata
- #
- @overload
- def getmask(a: _ScalarLike_co) -> _NoMaskType: ...
- @overload
- def getmask(a: MaskedArray[_ShapeT, Any]) -> _MaskArray[_ShapeT] | _NoMaskType: ...
- @overload
- def getmask(a: ArrayLike) -> _MaskArray | _NoMaskType: ...
- get_mask = getmask
- # like `getmask`, but instead of `nomask` returns `make_mask_none(arr, arr.dtype?)`
- @overload
- def getmaskarray(arr: _ScalarLike_co) -> _MaskArray[tuple[()]]: ...
- @overload
- def getmaskarray(arr: np.ndarray[_ShapeT, Any]) -> _MaskArray[_ShapeT]: ...
- # It's sufficient for `m` to have dtype with type: `type[np.bool_]`,
- # which isn't necessarily a ndarray. Please open an issue if this causes issues.
- def is_mask(m: object) -> TypeIs[NDArray[bool_]]: ...
- #
- @overload
- def make_mask_descr(ndtype: _VoidDTypeLike) -> np.dtype[np.void]: ...
- @overload
- def make_mask_descr(ndtype: _DTypeLike[np.generic] | str | type) -> np.dtype[np.bool_]: ...
- #
- @overload # m is nomask
- def make_mask(
- m: _NoMaskType,
- copy: bool = False,
- shrink: bool = True,
- dtype: _DTypeLikeBool = ...,
- ) -> _NoMaskType: ...
- @overload # m: ndarray, shrink=True (default), dtype: bool-like (default)
- def make_mask(
- m: np.ndarray[_ShapeT],
- copy: bool = False,
- shrink: Literal[True] = True,
- dtype: _DTypeLikeBool = ...,
- ) -> _MaskArray[_ShapeT] | _NoMaskType: ...
- @overload # m: ndarray, shrink=False (kwarg), dtype: bool-like (default)
- def make_mask(
- m: np.ndarray[_ShapeT],
- copy: bool = False,
- *,
- shrink: Literal[False],
- dtype: _DTypeLikeBool = ...,
- ) -> _MaskArray[_ShapeT]: ...
- @overload # m: ndarray, dtype: void-like
- def make_mask(
- m: np.ndarray[_ShapeT],
- copy: bool = False,
- shrink: bool = True,
- *,
- dtype: _DTypeLikeVoid,
- ) -> np.ndarray[_ShapeT, np.dtype[np.void]]: ...
- @overload # m: array-like, shrink=True (default), dtype: bool-like (default)
- def make_mask(
- m: ArrayLike,
- copy: bool = False,
- shrink: Literal[True] = True,
- dtype: _DTypeLikeBool = ...,
- ) -> _MaskArray | _NoMaskType: ...
- @overload # m: array-like, shrink=False (kwarg), dtype: bool-like (default)
- def make_mask(
- m: ArrayLike,
- copy: bool = False,
- *,
- shrink: Literal[False],
- dtype: _DTypeLikeBool = ...,
- ) -> _MaskArray: ...
- @overload # m: array-like, dtype: void-like
- def make_mask(
- m: ArrayLike,
- copy: bool = False,
- shrink: bool = True,
- *,
- dtype: _DTypeLikeVoid,
- ) -> NDArray[np.void]: ...
- @overload # fallback
- def make_mask(
- m: ArrayLike,
- copy: bool = False,
- shrink: bool = True,
- *,
- dtype: DTypeLike = ...,
- ) -> NDArray[Incomplete] | _NoMaskType: ...
- #
- @overload # known shape, dtype: unstructured (default)
- def make_mask_none(newshape: _ShapeT, dtype: np.dtype | type | str | None = None) -> _MaskArray[_ShapeT]: ...
- @overload # known shape, dtype: structured
- def make_mask_none(newshape: _ShapeT, dtype: _VoidDTypeLike) -> np.ndarray[_ShapeT, dtype[np.void]]: ...
- @overload # unknown shape, dtype: unstructured (default)
- def make_mask_none(newshape: _ShapeLike, dtype: np.dtype | type | str | None = None) -> _MaskArray: ...
- @overload # unknown shape, dtype: structured
- def make_mask_none(newshape: _ShapeLike, dtype: _VoidDTypeLike) -> NDArray[np.void]: ...
- #
- @overload # nomask, scalar-like, shrink=True (default)
- def mask_or(
- m1: _NoMaskType | Literal[False],
- m2: _ScalarLike_co,
- copy: bool = False,
- shrink: Literal[True] = True,
- ) -> _NoMaskType: ...
- @overload # nomask, scalar-like, shrink=False (kwarg)
- def mask_or(
- m1: _NoMaskType | Literal[False],
- m2: _ScalarLike_co,
- copy: bool = False,
- *,
- shrink: Literal[False],
- ) -> _MaskArray[tuple[()]]: ...
- @overload # scalar-like, nomask, shrink=True (default)
- def mask_or(
- m1: _ScalarLike_co,
- m2: _NoMaskType | Literal[False],
- copy: bool = False,
- shrink: Literal[True] = True,
- ) -> _NoMaskType: ...
- @overload # scalar-like, nomask, shrink=False (kwarg)
- def mask_or(
- m1: _ScalarLike_co,
- m2: _NoMaskType | Literal[False],
- copy: bool = False,
- *,
- shrink: Literal[False],
- ) -> _MaskArray[tuple[()]]: ...
- @overload # ndarray, ndarray | nomask, shrink=True (default)
- def mask_or(
- m1: np.ndarray[_ShapeT, np.dtype[_ScalarT]],
- m2: np.ndarray[_ShapeT, np.dtype[_ScalarT]] | _NoMaskType | Literal[False],
- copy: bool = False,
- shrink: Literal[True] = True,
- ) -> _MaskArray[_ShapeT] | _NoMaskType: ...
- @overload # ndarray, ndarray | nomask, shrink=False (kwarg)
- def mask_or(
- m1: np.ndarray[_ShapeT, np.dtype[_ScalarT]],
- m2: np.ndarray[_ShapeT, np.dtype[_ScalarT]] | _NoMaskType | Literal[False],
- copy: bool = False,
- *,
- shrink: Literal[False],
- ) -> _MaskArray[_ShapeT]: ...
- @overload # ndarray | nomask, ndarray, shrink=True (default)
- def mask_or(
- m1: np.ndarray[_ShapeT, np.dtype[_ScalarT]] | _NoMaskType | Literal[False],
- m2: np.ndarray[_ShapeT, np.dtype[_ScalarT]],
- copy: bool = False,
- shrink: Literal[True] = True,
- ) -> _MaskArray[_ShapeT] | _NoMaskType: ...
- @overload # ndarray | nomask, ndarray, shrink=False (kwarg)
- def mask_or(
- m1: np.ndarray[_ShapeT, np.dtype[_ScalarT]] | _NoMaskType | Literal[False],
- m2: np.ndarray[_ShapeT, np.dtype[_ScalarT]],
- copy: bool = False,
- *,
- shrink: Literal[False],
- ) -> _MaskArray[_ShapeT]: ...
- #
- @overload
- def flatten_mask(mask: np.ndarray[_ShapeT]) -> _MaskArray[_ShapeT]: ...
- @overload
- def flatten_mask(mask: ArrayLike) -> _MaskArray: ...
- # NOTE: we currently don't know the field types of `void` dtypes, so it's not possible
- # to know the output dtype of the returned array.
- @overload
- def flatten_structured_array(a: MaskedArray[_ShapeT, np.dtype[np.void]]) -> MaskedArray[_ShapeT]: ...
- @overload
- def flatten_structured_array(a: np.ndarray[_ShapeT, np.dtype[np.void]]) -> np.ndarray[_ShapeT]: ...
- @overload # for some reason this accepts unstructured array-likes, hence this fallback overload
- def flatten_structured_array(a: ArrayLike) -> np.ndarray: ...
- # keep in sync with other the `masked_*` functions
- @overload # known array with known shape and dtype
- def masked_invalid(a: ndarray[_ShapeT, _DTypeT], copy: bool = True) -> MaskedArray[_ShapeT, _DTypeT]: ...
- @overload # array-like of known scalar-type
- def masked_invalid(a: _ArrayLike[_ScalarT], copy: bool = True) -> _MaskedArray[_ScalarT]: ...
- @overload # unknown array-like
- def masked_invalid(a: ArrayLike, copy: bool = True) -> _MaskedArray[Incomplete]: ...
- # keep in sync with other the `masked_*` functions
- @overload # array-like of known scalar-type
- def masked_where(
- condition: _ArrayLikeBool_co, a: ndarray[_ShapeT, _DTypeT], copy: bool = True
- ) -> MaskedArray[_ShapeT, _DTypeT]: ...
- @overload # array-like of known scalar-type
- def masked_where(condition: _ArrayLikeBool_co, a: _ArrayLike[_ScalarT], copy: bool = True) -> _MaskedArray[_ScalarT]: ...
- @overload # unknown array-like
- def masked_where(condition: _ArrayLikeBool_co, a: ArrayLike, copy: bool = True) -> _MaskedArray[Incomplete]: ...
- # keep in sync with other the `masked_*` functions
- @overload # known array with known shape and dtype
- def masked_greater(x: ndarray[_ShapeT, _DTypeT], value: ArrayLike, copy: bool = True) -> MaskedArray[_ShapeT, _DTypeT]: ...
- @overload # array-like of known scalar-type
- def masked_greater(x: _ArrayLike[_ScalarT], value: ArrayLike, copy: bool = True) -> _MaskedArray[_ScalarT]: ...
- @overload # unknown array-like
- def masked_greater(x: ArrayLike, value: ArrayLike, copy: bool = True) -> _MaskedArray[Incomplete]: ...
- # keep in sync with other the `masked_*` functions
- @overload # known array with known shape and dtype
- def masked_greater_equal(x: ndarray[_ShapeT, _DTypeT], value: ArrayLike, copy: bool = True) -> MaskedArray[_ShapeT, _DTypeT]: ...
- @overload # array-like of known scalar-type
- def masked_greater_equal(x: _ArrayLike[_ScalarT], value: ArrayLike, copy: bool = True) -> _MaskedArray[_ScalarT]: ...
- @overload # unknown array-like
- def masked_greater_equal(x: ArrayLike, value: ArrayLike, copy: bool = True) -> _MaskedArray[Incomplete]: ...
- # keep in sync with other the `masked_*` functions
- @overload # known array with known shape and dtype
- def masked_less(x: ndarray[_ShapeT, _DTypeT], value: ArrayLike, copy: bool = True) -> MaskedArray[_ShapeT, _DTypeT]: ...
- @overload # array-like of known scalar-type
- def masked_less(x: _ArrayLike[_ScalarT], value: ArrayLike, copy: bool = True) -> _MaskedArray[_ScalarT]: ...
- @overload # unknown array-like
- def masked_less(x: ArrayLike, value: ArrayLike, copy: bool = True) -> _MaskedArray[Incomplete]: ...
- # keep in sync with other the `masked_*` functions
- @overload # known array with known shape and dtype
- def masked_less_equal(x: ndarray[_ShapeT, _DTypeT], value: ArrayLike, copy: bool = True) -> MaskedArray[_ShapeT, _DTypeT]: ...
- @overload # array-like of known scalar-type
- def masked_less_equal(x: _ArrayLike[_ScalarT], value: ArrayLike, copy: bool = True) -> _MaskedArray[_ScalarT]: ...
- @overload # unknown array-like
- def masked_less_equal(x: ArrayLike, value: ArrayLike, copy: bool = True) -> _MaskedArray[Incomplete]: ...
- # keep in sync with other the `masked_*` functions
- @overload # known array with known shape and dtype
- def masked_not_equal(x: ndarray[_ShapeT, _DTypeT], value: ArrayLike, copy: bool = True) -> MaskedArray[_ShapeT, _DTypeT]: ...
- @overload # array-like of known scalar-type
- def masked_not_equal(x: _ArrayLike[_ScalarT], value: ArrayLike, copy: bool = True) -> _MaskedArray[_ScalarT]: ...
- @overload # unknown array-like
- def masked_not_equal(x: ArrayLike, value: ArrayLike, copy: bool = True) -> _MaskedArray[Incomplete]: ...
- # keep in sync with other the `masked_*` functions
- @overload # known array with known shape and dtype
- def masked_equal(x: ndarray[_ShapeT, _DTypeT], value: ArrayLike, copy: bool = True) -> MaskedArray[_ShapeT, _DTypeT]: ...
- @overload # array-like of known scalar-type
- def masked_equal(x: _ArrayLike[_ScalarT], value: ArrayLike, copy: bool = True) -> _MaskedArray[_ScalarT]: ...
- @overload # unknown array-like
- def masked_equal(x: ArrayLike, value: ArrayLike, copy: bool = True) -> _MaskedArray[Incomplete]: ...
- # keep in sync with other the `masked_*` functions
- @overload # known array with known shape and dtype
- def masked_inside(x: ndarray[_ShapeT, _DTypeT], v1: ArrayLike, v2: ArrayLike, copy: bool = True) -> MaskedArray[_ShapeT, _DTypeT]: ...
- @overload # array-like of known scalar-type
- def masked_inside(x: _ArrayLike[_ScalarT], v1: ArrayLike, v2: ArrayLike, copy: bool = True) -> _MaskedArray[_ScalarT]: ...
- @overload # unknown array-like
- def masked_inside(x: ArrayLike, v1: ArrayLike, v2: ArrayLike, copy: bool = True) -> _MaskedArray[Incomplete]: ...
- # keep in sync with other the `masked_*` functions
- @overload # known array with known shape and dtype
- def masked_outside(x: ndarray[_ShapeT, _DTypeT], v1: ArrayLike, v2: ArrayLike, copy: bool = True) -> MaskedArray[_ShapeT, _DTypeT]: ...
- @overload # array-like of known scalar-type
- def masked_outside(x: _ArrayLike[_ScalarT], v1: ArrayLike, v2: ArrayLike, copy: bool = True) -> _MaskedArray[_ScalarT]: ...
- @overload # unknown array-like
- def masked_outside(x: ArrayLike, v1: ArrayLike, v2: ArrayLike, copy: bool = True) -> _MaskedArray[Incomplete]: ...
- # only intended for object arrays, so we assume that's how it's always used in practice
- @overload
- def masked_object(
- x: np.ndarray[_ShapeT, np.dtype[np.object_]],
- value: object,
- copy: bool = True,
- shrink: bool = True,
- ) -> MaskedArray[_ShapeT, np.dtype[np.object_]]: ...
- @overload
- def masked_object(
- x: _ArrayLikeObject_co,
- value: object,
- copy: bool = True,
- shrink: bool = True,
- ) -> _MaskedArray[np.object_]: ...
- # keep roughly in sync with `filled`
- @overload
- def masked_values(
- x: np.ndarray[_ShapeT, _DTypeT],
- value: _ScalarLike_co,
- rtol: float = 1e-5,
- atol: float = 1e-8,
- copy: bool = True,
- shrink: bool = True
- ) -> MaskedArray[_ShapeT, _DTypeT]: ...
- @overload
- def masked_values(
- x: _ArrayLike[_ScalarT],
- value: _ScalarLike_co,
- rtol: float = 1e-5,
- atol: float = 1e-8,
- copy: bool = True,
- shrink: bool = True
- ) -> _MaskedArray[_ScalarT]: ...
- @overload
- def masked_values(
- x: ArrayLike,
- value: _ScalarLike_co,
- rtol: float = 1e-5,
- atol: float = 1e-8,
- copy: bool = True,
- shrink: bool = True
- ) -> _MaskedArray[Incomplete]: ...
- # TODO: Support non-boolean mask dtypes, such as `np.void`. This will require adding an
- # additional generic type parameter to (at least) `MaskedArray` and `MaskedIterator` to
- # hold the dtype of the mask.
- class MaskedIterator(Generic[_ShapeT_co, _DTypeT_co]):
- ma: MaskedArray[_ShapeT_co, _DTypeT_co] # readonly
- dataiter: np.flatiter[ndarray[_ShapeT_co, _DTypeT_co]] # readonly
- maskiter: Final[np.flatiter[NDArray[np.bool]]]
- def __init__(self, ma: MaskedArray[_ShapeT_co, _DTypeT_co]) -> None: ...
- def __iter__(self) -> Self: ...
- # Similar to `MaskedArray.__getitem__` but without the `void` case.
- @overload
- def __getitem__(self, indx: _ArrayInt_co | tuple[_ArrayInt_co, ...], /) -> MaskedArray[_AnyShape, _DTypeT_co]: ...
- @overload
- def __getitem__(self, indx: SupportsIndex | tuple[SupportsIndex, ...], /) -> Incomplete: ...
- @overload
- def __getitem__(self, indx: _ToIndices, /) -> MaskedArray[_AnyShape, _DTypeT_co]: ...
- # Similar to `ndarray.__setitem__` but without the `void` case.
- @overload # flexible | object_ | bool
- def __setitem__(
- self: MaskedIterator[Any, dtype[flexible | object_ | np.bool] | dtypes.StringDType],
- index: _ToIndices,
- value: object,
- /,
- ) -> None: ...
- @overload # integer
- def __setitem__(
- self: MaskedIterator[Any, dtype[integer]],
- index: _ToIndices,
- value: _ConvertibleToInt | _NestedSequence[_ConvertibleToInt] | _ArrayLikeInt_co,
- /,
- ) -> None: ...
- @overload # floating
- def __setitem__(
- self: MaskedIterator[Any, dtype[floating]],
- index: _ToIndices,
- value: _ConvertibleToFloat | _NestedSequence[_ConvertibleToFloat | None] | _ArrayLikeFloat_co | None,
- /,
- ) -> None: ...
- @overload # complexfloating
- def __setitem__(
- self: MaskedIterator[Any, dtype[complexfloating]],
- index: _ToIndices,
- value: _ConvertibleToComplex | _NestedSequence[_ConvertibleToComplex | None] | _ArrayLikeNumber_co | None,
- /,
- ) -> None: ...
- @overload # timedelta64
- def __setitem__(
- self: MaskedIterator[Any, dtype[timedelta64]],
- index: _ToIndices,
- value: _ConvertibleToTD64 | _NestedSequence[_ConvertibleToTD64],
- /,
- ) -> None: ...
- @overload # datetime64
- def __setitem__(
- self: MaskedIterator[Any, dtype[datetime64]],
- index: _ToIndices,
- value: _ConvertibleToDT64 | _NestedSequence[_ConvertibleToDT64],
- /,
- ) -> None: ...
- @overload # catch-all
- def __setitem__(self, index: _ToIndices, value: ArrayLike, /) -> None: ...
- # TODO: Returns `mvoid[(), _DTypeT_co]` for masks with `np.void` dtype.
- def __next__(self: MaskedIterator[Any, np.dtype[_ScalarT]]) -> _ScalarT: ...
- class MaskedArray(ndarray[_ShapeT_co, _DTypeT_co]):
- __array_priority__: Final[Literal[15]] = 15
- @overload
- def __new__(
- cls,
- data: _ArrayLike[_ScalarT],
- mask: _ArrayLikeBool_co = nomask,
- dtype: None = None,
- copy: bool = False,
- subok: bool = True,
- ndmin: int = 0,
- fill_value: _ScalarLike_co | None = None,
- keep_mask: bool = True,
- hard_mask: bool | None = None,
- shrink: bool = True,
- order: _OrderKACF | None = None,
- ) -> _MaskedArray[_ScalarT]: ...
- @overload
- def __new__(
- cls,
- data: object,
- mask: _ArrayLikeBool_co,
- dtype: _DTypeLike[_ScalarT],
- copy: bool = False,
- subok: bool = True,
- ndmin: int = 0,
- fill_value: _ScalarLike_co | None = None,
- keep_mask: bool = True,
- hard_mask: bool | None = None,
- shrink: bool = True,
- order: _OrderKACF | None = None,
- ) -> _MaskedArray[_ScalarT]: ...
- @overload
- def __new__(
- cls,
- data: object,
- mask: _ArrayLikeBool_co = nomask,
- *,
- dtype: _DTypeLike[_ScalarT],
- copy: bool = False,
- subok: bool = True,
- ndmin: int = 0,
- fill_value: _ScalarLike_co | None = None,
- keep_mask: bool = True,
- hard_mask: bool | None = None,
- shrink: bool = True,
- order: _OrderKACF | None = None,
- ) -> _MaskedArray[_ScalarT]: ...
- @overload
- def __new__(
- cls,
- data: object = None,
- mask: _ArrayLikeBool_co = nomask,
- dtype: DTypeLike | None = None,
- copy: bool = False,
- subok: bool = True,
- ndmin: int = 0,
- fill_value: _ScalarLike_co | None = None,
- keep_mask: bool = True,
- hard_mask: bool | None = None,
- shrink: bool = True,
- order: _OrderKACF | None = None,
- ) -> _MaskedArray[Any]: ...
- def __array_wrap__(
- self,
- obj: ndarray[_ShapeT, _DTypeT],
- context: tuple[ufunc, tuple[Any, ...], int] | None = None,
- return_scalar: bool = False,
- ) -> MaskedArray[_ShapeT, _DTypeT]: ...
- @overload # type: ignore[override] # ()
- def view(self, /, dtype: None = None, type: None = None, fill_value: _ScalarLike_co | None = None) -> Self: ...
- @overload # (dtype: DTypeT)
- def view(
- self,
- /,
- dtype: _DTypeT | _HasDType[_DTypeT],
- type: None = None,
- fill_value: _ScalarLike_co | None = None
- ) -> MaskedArray[_ShapeT_co, _DTypeT]: ...
- @overload # (dtype: dtype[ScalarT])
- def view(
- self,
- /,
- dtype: _DTypeLike[_ScalarT],
- type: None = None,
- fill_value: _ScalarLike_co | None = None
- ) -> MaskedArray[_ShapeT_co, dtype[_ScalarT]]: ...
- @overload # ([dtype: _, ]*, type: ArrayT)
- def view(
- self,
- /,
- dtype: DTypeLike | None = None,
- *,
- type: type[_ArrayT],
- fill_value: _ScalarLike_co | None = None
- ) -> _ArrayT: ...
- @overload # (dtype: _, type: ArrayT)
- def view(self, /, dtype: DTypeLike | None, type: type[_ArrayT], fill_value: _ScalarLike_co | None = None) -> _ArrayT: ...
- @overload # (dtype: ArrayT, /)
- def view(self, /, dtype: type[_ArrayT], type: None = None, fill_value: _ScalarLike_co | None = None) -> _ArrayT: ...
- @overload # (dtype: ?)
- def view(
- self,
- /,
- # `_VoidDTypeLike | str | None` is like `DTypeLike` but without `_DTypeLike[Any]` to avoid
- # overlaps with previous overloads.
- dtype: _VoidDTypeLike | str | None,
- type: None = None,
- fill_value: _ScalarLike_co | None = None
- ) -> MaskedArray[_ShapeT_co, dtype]: ...
- # Keep in sync with `ndarray.__getitem__`
- @overload
- def __getitem__(self, key: _ArrayInt_co | tuple[_ArrayInt_co, ...], /) -> MaskedArray[_AnyShape, _DTypeT_co]: ...
- @overload
- def __getitem__(self, key: SupportsIndex | tuple[SupportsIndex, ...], /) -> Any: ...
- @overload
- def __getitem__(self, key: _ToIndices, /) -> MaskedArray[_AnyShape, _DTypeT_co]: ...
- @overload
- def __getitem__(self: _MaskedArray[void], indx: str, /) -> MaskedArray[_ShapeT_co, dtype]: ...
- @overload
- def __getitem__(self: _MaskedArray[void], indx: list[str], /) -> MaskedArray[_ShapeT_co, dtype[void]]: ...
- @property
- def shape(self) -> _ShapeT_co: ...
- @shape.setter # type: ignore[override]
- def shape(self: MaskedArray[_ShapeT, Any], shape: _ShapeT, /) -> None: ...
- def __setmask__(self, mask: _ArrayLikeBool_co, copy: bool = False) -> None: ...
- @property
- def mask(self) -> np.ndarray[_ShapeT_co, dtype[MaskType]] | MaskType: ...
- @mask.setter
- def mask(self, value: _ArrayLikeBool_co, /) -> None: ...
- @property
- def recordmask(self) -> np.ndarray[_ShapeT_co, dtype[MaskType]] | MaskType: ...
- @recordmask.setter
- def recordmask(self, mask: Never, /) -> NoReturn: ...
- def harden_mask(self) -> Self: ...
- def soften_mask(self) -> Self: ...
- @property
- def hardmask(self) -> bool: ...
- def unshare_mask(self) -> Self: ...
- @property
- def sharedmask(self) -> bool: ...
- def shrink_mask(self) -> Self: ...
- @property
- def baseclass(self) -> type[ndarray]: ...
- @property
- def _data(self) -> ndarray[_ShapeT_co, _DTypeT_co]: ...
- @property
- def data(self) -> ndarray[_ShapeT_co, _DTypeT_co]: ... # type: ignore[override]
- @property # type: ignore[override]
- def flat(self) -> MaskedIterator[_ShapeT_co, _DTypeT_co]: ...
- @flat.setter
- def flat(self, value: ArrayLike, /) -> None: ...
- @property
- def fill_value(self: _MaskedArray[_ScalarT]) -> _ScalarT: ...
- @fill_value.setter
- def fill_value(self, value: _ScalarLike_co | None = None, /) -> None: ...
- def get_fill_value(self: _MaskedArray[_ScalarT]) -> _ScalarT: ...
- def set_fill_value(self, /, value: _ScalarLike_co | None = None) -> None: ...
- def filled(self, /, fill_value: _ScalarLike_co | None = None) -> ndarray[_ShapeT_co, _DTypeT_co]: ...
- def compressed(self) -> ndarray[tuple[int], _DTypeT_co]: ...
- # keep roughly in sync with `ma.core.compress`, but swap the first two arguments
- @overload # type: ignore[override]
- def compress(
- self,
- condition: _ArrayLikeBool_co,
- axis: _ShapeLike | None,
- out: _ArrayT
- ) -> _ArrayT: ...
- @overload
- def compress(
- self,
- condition: _ArrayLikeBool_co,
- axis: _ShapeLike | None = None,
- *,
- out: _ArrayT
- ) -> _ArrayT: ...
- @overload
- def compress(
- self,
- condition: _ArrayLikeBool_co,
- axis: None = None,
- out: None = None
- ) -> MaskedArray[tuple[int], _DTypeT_co]: ...
- @overload
- def compress(
- self,
- condition: _ArrayLikeBool_co,
- axis: _ShapeLike | None = None,
- out: None = None
- ) -> MaskedArray[_AnyShape, _DTypeT_co]: ...
- # TODO: How to deal with the non-commutative nature of `==` and `!=`?
- # xref numpy/numpy#17368
- def __eq__(self, other: Incomplete, /) -> Incomplete: ...
- def __ne__(self, other: Incomplete, /) -> Incomplete: ...
- def __ge__(self, other: ArrayLike, /) -> _MaskedArray[bool_]: ... # type: ignore[override]
- def __gt__(self, other: ArrayLike, /) -> _MaskedArray[bool_]: ... # type: ignore[override]
- def __le__(self, other: ArrayLike, /) -> _MaskedArray[bool_]: ... # type: ignore[override]
- def __lt__(self, other: ArrayLike, /) -> _MaskedArray[bool_]: ... # type: ignore[override]
- # Keep in sync with `ndarray.__add__`
- @overload # type: ignore[override]
- def __add__(self: _MaskedArray[_NumberT], other: int | np.bool, /) -> MaskedArray[_ShapeT_co, dtype[_NumberT]]: ...
- @overload
- def __add__(self: _MaskedArray[_NumberT], other: _ArrayLikeBool_co, /) -> _MaskedArray[_NumberT]: ... # type: ignore[overload-overlap]
- @overload
- def __add__(self: _MaskedArray[np.bool], other: _ArrayLikeBool_co, /) -> _MaskedArray[np.bool]: ... # type: ignore[overload-overlap]
- @overload
- def __add__(self: _MaskedArray[np.bool], other: _ArrayLike[_NumberT], /) -> _MaskedArray[_NumberT]: ... # type: ignore[overload-overlap]
- @overload
- def __add__(self: _MaskedArray[float64], other: _ArrayLikeFloat64_co, /) -> _MaskedArray[float64]: ...
- @overload
- def __add__(self: _MaskedArrayFloat64_co, other: _ArrayLike[floating[_64Bit]], /) -> _MaskedArray[float64]: ...
- @overload
- def __add__(self: _MaskedArray[complex128], other: _ArrayLikeComplex128_co, /) -> _MaskedArray[complex128]: ...
- @overload
- def __add__(self: _MaskedArrayComplex128_co, other: _ArrayLike[complexfloating[_64Bit]], /) -> _MaskedArray[complex128]: ...
- @overload
- def __add__(self: _MaskedArrayUInt_co, other: _ArrayLikeUInt_co, /) -> _MaskedArray[unsignedinteger]: ... # type: ignore[overload-overlap]
- @overload
- def __add__(self: _MaskedArrayInt_co, other: _ArrayLikeInt_co, /) -> _MaskedArray[signedinteger]: ... # type: ignore[overload-overlap]
- @overload
- def __add__(self: _MaskedArrayFloat_co, other: _ArrayLikeFloat_co, /) -> _MaskedArray[floating]: ... # type: ignore[overload-overlap]
- @overload
- def __add__(self: _MaskedArrayComplex_co, other: _ArrayLikeComplex_co, /) -> _MaskedArray[complexfloating]: ... # type: ignore[overload-overlap]
- @overload
- def __add__(self: _MaskedArray[number], other: _ArrayLikeNumber_co, /) -> _MaskedArray[number]: ... # type: ignore[overload-overlap]
- @overload
- def __add__(self: _MaskedArrayTD64_co, other: _ArrayLikeTD64_co, /) -> _MaskedArray[timedelta64]: ...
- @overload
- def __add__(self: _MaskedArrayTD64_co, other: _ArrayLikeDT64_co, /) -> _MaskedArray[datetime64]: ...
- @overload
- def __add__(self: _MaskedArray[datetime64], other: _ArrayLikeTD64_co, /) -> _MaskedArray[datetime64]: ...
- @overload
- def __add__(self: _MaskedArray[bytes_], other: _ArrayLikeBytes_co, /) -> _MaskedArray[bytes_]: ...
- @overload
- def __add__(self: _MaskedArray[str_], other: _ArrayLikeStr_co, /) -> _MaskedArray[str_]: ...
- @overload
- def __add__(
- self: MaskedArray[Any, dtypes.StringDType],
- other: _ArrayLikeStr_co | _ArrayLikeString_co,
- /,
- ) -> MaskedArray[_AnyShape, dtypes.StringDType]: ...
- @overload
- def __add__(self: _MaskedArray[object_], other: Any, /) -> Any: ...
- @overload
- def __add__(self: _MaskedArray[Any], other: _ArrayLikeObject_co, /) -> Any: ...
- # Keep in sync with `ndarray.__radd__`
- @overload # type: ignore[override] # signature equivalent to __add__
- def __radd__(self: _MaskedArray[_NumberT], other: int | np.bool, /) -> MaskedArray[_ShapeT_co, dtype[_NumberT]]: ...
- @overload
- def __radd__(self: _MaskedArray[_NumberT], other: _ArrayLikeBool_co, /) -> _MaskedArray[_NumberT]: ... # type: ignore[overload-overlap]
- @overload
- def __radd__(self: _MaskedArray[np.bool], other: _ArrayLikeBool_co, /) -> _MaskedArray[np.bool]: ... # type: ignore[overload-overlap]
- @overload
- def __radd__(self: _MaskedArray[np.bool], other: _ArrayLike[_NumberT], /) -> _MaskedArray[_NumberT]: ... # type: ignore[overload-overlap]
- @overload
- def __radd__(self: _MaskedArray[float64], other: _ArrayLikeFloat64_co, /) -> _MaskedArray[float64]: ...
- @overload
- def __radd__(self: _MaskedArrayFloat64_co, other: _ArrayLike[floating[_64Bit]], /) -> _MaskedArray[float64]: ...
- @overload
- def __radd__(self: _MaskedArray[complex128], other: _ArrayLikeComplex128_co, /) -> _MaskedArray[complex128]: ...
- @overload
- def __radd__(self: _MaskedArrayComplex128_co, other: _ArrayLike[complexfloating[_64Bit]], /) -> _MaskedArray[complex128]: ...
- @overload
- def __radd__(self: _MaskedArrayUInt_co, other: _ArrayLikeUInt_co, /) -> _MaskedArray[unsignedinteger]: ... # type: ignore[overload-overlap]
- @overload
- def __radd__(self: _MaskedArrayInt_co, other: _ArrayLikeInt_co, /) -> _MaskedArray[signedinteger]: ... # type: ignore[overload-overlap]
- @overload
- def __radd__(self: _MaskedArrayFloat_co, other: _ArrayLikeFloat_co, /) -> _MaskedArray[floating]: ... # type: ignore[overload-overlap]
- @overload
- def __radd__(self: _MaskedArrayComplex_co, other: _ArrayLikeComplex_co, /) -> _MaskedArray[complexfloating]: ... # type: ignore[overload-overlap]
- @overload
- def __radd__(self: _MaskedArray[number], other: _ArrayLikeNumber_co, /) -> _MaskedArray[number]: ... # type: ignore[overload-overlap]
- @overload
- def __radd__(self: _MaskedArrayTD64_co, other: _ArrayLikeTD64_co, /) -> _MaskedArray[timedelta64]: ...
- @overload
- def __radd__(self: _MaskedArrayTD64_co, other: _ArrayLikeDT64_co, /) -> _MaskedArray[datetime64]: ...
- @overload
- def __radd__(self: _MaskedArray[datetime64], other: _ArrayLikeTD64_co, /) -> _MaskedArray[datetime64]: ...
- @overload
- def __radd__(self: _MaskedArray[bytes_], other: _ArrayLikeBytes_co, /) -> _MaskedArray[bytes_]: ...
- @overload
- def __radd__(self: _MaskedArray[str_], other: _ArrayLikeStr_co, /) -> _MaskedArray[str_]: ...
- @overload
- def __radd__(
- self: MaskedArray[Any, dtypes.StringDType],
- other: _ArrayLikeStr_co | _ArrayLikeString_co,
- /,
- ) -> MaskedArray[_AnyShape, dtypes.StringDType]: ...
- @overload
- def __radd__(self: _MaskedArray[object_], other: Any, /) -> Any: ...
- @overload
- def __radd__(self: _MaskedArray[Any], other: _ArrayLikeObject_co, /) -> Any: ...
- # Keep in sync with `ndarray.__sub__`
- @overload # type: ignore[override]
- def __sub__(self: _MaskedArray[_NumberT], other: int | np.bool, /) -> MaskedArray[_ShapeT_co, dtype[_NumberT]]: ...
- @overload
- def __sub__(self: _MaskedArray[_NumberT], other: _ArrayLikeBool_co, /) -> _MaskedArray[_NumberT]: ... # type: ignore[overload-overlap]
- @overload
- def __sub__(self: _MaskedArray[np.bool], other: _ArrayLikeBool_co, /) -> NoReturn: ...
- @overload
- def __sub__(self: _MaskedArray[np.bool], other: _ArrayLike[_NumberT], /) -> _MaskedArray[_NumberT]: ... # type: ignore[overload-overlap]
- @overload
- def __sub__(self: _MaskedArray[float64], other: _ArrayLikeFloat64_co, /) -> _MaskedArray[float64]: ...
- @overload
- def __sub__(self: _MaskedArrayFloat64_co, other: _ArrayLike[floating[_64Bit]], /) -> _MaskedArray[float64]: ...
- @overload
- def __sub__(self: _MaskedArray[complex128], other: _ArrayLikeComplex128_co, /) -> _MaskedArray[complex128]: ...
- @overload
- def __sub__(self: _MaskedArrayComplex128_co, other: _ArrayLike[complexfloating[_64Bit]], /) -> _MaskedArray[complex128]: ...
- @overload
- def __sub__(self: _MaskedArrayUInt_co, other: _ArrayLikeUInt_co, /) -> _MaskedArray[unsignedinteger]: ... # type: ignore[overload-overlap]
- @overload
- def __sub__(self: _MaskedArrayInt_co, other: _ArrayLikeInt_co, /) -> _MaskedArray[signedinteger]: ... # type: ignore[overload-overlap]
- @overload
- def __sub__(self: _MaskedArrayFloat_co, other: _ArrayLikeFloat_co, /) -> _MaskedArray[floating]: ... # type: ignore[overload-overlap]
- @overload
- def __sub__(self: _MaskedArrayComplex_co, other: _ArrayLikeComplex_co, /) -> _MaskedArray[complexfloating]: ... # type: ignore[overload-overlap]
- @overload
- def __sub__(self: _MaskedArray[number], other: _ArrayLikeNumber_co, /) -> _MaskedArray[number]: ... # type: ignore[overload-overlap]
- @overload
- def __sub__(self: _MaskedArrayTD64_co, other: _ArrayLikeTD64_co, /) -> _MaskedArray[timedelta64]: ...
- @overload
- def __sub__(self: _MaskedArray[datetime64], other: _ArrayLikeTD64_co, /) -> _MaskedArray[datetime64]: ...
- @overload
- def __sub__(self: _MaskedArray[datetime64], other: _ArrayLikeDT64_co, /) -> _MaskedArray[timedelta64]: ...
- @overload
- def __sub__(self: _MaskedArray[object_], other: Any, /) -> Any: ...
- @overload
- def __sub__(self: _MaskedArray[Any], other: _ArrayLikeObject_co, /) -> Any: ...
- # Keep in sync with `ndarray.__rsub__`
- @overload # type: ignore[override]
- def __rsub__(self: _MaskedArray[_NumberT], other: int | np.bool, /) -> MaskedArray[_ShapeT_co, dtype[_NumberT]]: ...
- @overload
- def __rsub__(self: _MaskedArray[_NumberT], other: _ArrayLikeBool_co, /) -> _MaskedArray[_NumberT]: ... # type: ignore[overload-overlap]
- @overload
- def __rsub__(self: _MaskedArray[np.bool], other: _ArrayLikeBool_co, /) -> NoReturn: ...
- @overload
- def __rsub__(self: _MaskedArray[np.bool], other: _ArrayLike[_NumberT], /) -> _MaskedArray[_NumberT]: ... # type: ignore[overload-overlap]
- @overload
- def __rsub__(self: _MaskedArray[float64], other: _ArrayLikeFloat64_co, /) -> _MaskedArray[float64]: ...
- @overload
- def __rsub__(self: _MaskedArrayFloat64_co, other: _ArrayLike[floating[_64Bit]], /) -> _MaskedArray[float64]: ...
- @overload
- def __rsub__(self: _MaskedArray[complex128], other: _ArrayLikeComplex128_co, /) -> _MaskedArray[complex128]: ...
- @overload
- def __rsub__(self: _MaskedArrayComplex128_co, other: _ArrayLike[complexfloating[_64Bit]], /) -> _MaskedArray[complex128]: ...
- @overload
- def __rsub__(self: _MaskedArrayUInt_co, other: _ArrayLikeUInt_co, /) -> _MaskedArray[unsignedinteger]: ... # type: ignore[overload-overlap]
- @overload
- def __rsub__(self: _MaskedArrayInt_co, other: _ArrayLikeInt_co, /) -> _MaskedArray[signedinteger]: ... # type: ignore[overload-overlap]
- @overload
- def __rsub__(self: _MaskedArrayFloat_co, other: _ArrayLikeFloat_co, /) -> _MaskedArray[floating]: ... # type: ignore[overload-overlap]
- @overload
- def __rsub__(self: _MaskedArrayComplex_co, other: _ArrayLikeComplex_co, /) -> _MaskedArray[complexfloating]: ... # type: ignore[overload-overlap]
- @overload
- def __rsub__(self: _MaskedArray[number], other: _ArrayLikeNumber_co, /) -> _MaskedArray[number]: ... # type: ignore[overload-overlap]
- @overload
- def __rsub__(self: _MaskedArrayTD64_co, other: _ArrayLikeTD64_co, /) -> _MaskedArray[timedelta64]: ...
- @overload
- def __rsub__(self: _MaskedArrayTD64_co, other: _ArrayLikeDT64_co, /) -> _MaskedArray[datetime64]: ...
- @overload
- def __rsub__(self: _MaskedArray[datetime64], other: _ArrayLikeDT64_co, /) -> _MaskedArray[timedelta64]: ...
- @overload
- def __rsub__(self: _MaskedArray[object_], other: Any, /) -> Any: ...
- @overload
- def __rsub__(self: _MaskedArray[Any], other: _ArrayLikeObject_co, /) -> Any: ...
- # Keep in sync with `ndarray.__mul__`
- @overload # type: ignore[override]
- def __mul__(self: _MaskedArray[_NumberT], other: int | np.bool, /) -> MaskedArray[_ShapeT_co, dtype[_NumberT]]: ...
- @overload
- def __mul__(self: _MaskedArray[_NumberT], other: _ArrayLikeBool_co, /) -> _MaskedArray[_NumberT]: ... # type: ignore[overload-overlap]
- @overload
- def __mul__(self: _MaskedArray[np.bool], other: _ArrayLikeBool_co, /) -> _MaskedArray[np.bool]: ... # type: ignore[overload-overlap]
- @overload
- def __mul__(self: _MaskedArray[np.bool], other: _ArrayLike[_NumberT], /) -> _MaskedArray[_NumberT]: ... # type: ignore[overload-overlap]
- @overload
- def __mul__(self: _MaskedArray[float64], other: _ArrayLikeFloat64_co, /) -> _MaskedArray[float64]: ...
- @overload
- def __mul__(self: _MaskedArrayFloat64_co, other: _ArrayLike[floating[_64Bit]], /) -> _MaskedArray[float64]: ...
- @overload
- def __mul__(self: _MaskedArray[complex128], other: _ArrayLikeComplex128_co, /) -> _MaskedArray[complex128]: ...
- @overload
- def __mul__(self: _MaskedArrayComplex128_co, other: _ArrayLike[complexfloating[_64Bit]], /) -> _MaskedArray[complex128]: ...
- @overload
- def __mul__(self: _MaskedArrayUInt_co, other: _ArrayLikeUInt_co, /) -> _MaskedArray[unsignedinteger]: ... # type: ignore[overload-overlap]
- @overload
- def __mul__(self: _MaskedArrayInt_co, other: _ArrayLikeInt_co, /) -> _MaskedArray[signedinteger]: ... # type: ignore[overload-overlap]
- @overload
- def __mul__(self: _MaskedArrayFloat_co, other: _ArrayLikeFloat_co, /) -> _MaskedArray[floating]: ... # type: ignore[overload-overlap]
- @overload
- def __mul__(self: _MaskedArrayComplex_co, other: _ArrayLikeComplex_co, /) -> _MaskedArray[complexfloating]: ... # type: ignore[overload-overlap]
- @overload
- def __mul__(self: _MaskedArray[number], other: _ArrayLikeNumber_co, /) -> _MaskedArray[number]: ...
- @overload
- def __mul__(self: _MaskedArray[timedelta64], other: _ArrayLikeFloat_co, /) -> _MaskedArray[timedelta64]: ...
- @overload
- def __mul__(self: _MaskedArrayFloat_co, other: _ArrayLike[timedelta64], /) -> _MaskedArray[timedelta64]: ...
- @overload
- def __mul__(
- self: MaskedArray[Any, dtype[character] | dtypes.StringDType],
- other: _ArrayLikeInt,
- /,
- ) -> MaskedArray[tuple[Any, ...], _DTypeT_co]: ...
- @overload
- def __mul__(self: _MaskedArray[object_], other: Any, /) -> Any: ...
- @overload
- def __mul__(self: _MaskedArray[Any], other: _ArrayLikeObject_co, /) -> Any: ...
- # Keep in sync with `ndarray.__rmul__`
- @overload # type: ignore[override] # signature equivalent to __mul__
- def __rmul__(self: _MaskedArray[_NumberT], other: int | np.bool, /) -> MaskedArray[_ShapeT_co, dtype[_NumberT]]: ...
- @overload
- def __rmul__(self: _MaskedArray[_NumberT], other: _ArrayLikeBool_co, /) -> _MaskedArray[_NumberT]: ... # type: ignore[overload-overlap]
- @overload
- def __rmul__(self: _MaskedArray[np.bool], other: _ArrayLikeBool_co, /) -> _MaskedArray[np.bool]: ... # type: ignore[overload-overlap]
- @overload
- def __rmul__(self: _MaskedArray[np.bool], other: _ArrayLike[_NumberT], /) -> _MaskedArray[_NumberT]: ... # type: ignore[overload-overlap]
- @overload
- def __rmul__(self: _MaskedArray[float64], other: _ArrayLikeFloat64_co, /) -> _MaskedArray[float64]: ...
- @overload
- def __rmul__(self: _MaskedArrayFloat64_co, other: _ArrayLike[floating[_64Bit]], /) -> _MaskedArray[float64]: ...
- @overload
- def __rmul__(self: _MaskedArray[complex128], other: _ArrayLikeComplex128_co, /) -> _MaskedArray[complex128]: ...
- @overload
- def __rmul__(self: _MaskedArrayComplex128_co, other: _ArrayLike[complexfloating[_64Bit]], /) -> _MaskedArray[complex128]: ...
- @overload
- def __rmul__(self: _MaskedArrayUInt_co, other: _ArrayLikeUInt_co, /) -> _MaskedArray[unsignedinteger]: ... # type: ignore[overload-overlap]
- @overload
- def __rmul__(self: _MaskedArrayInt_co, other: _ArrayLikeInt_co, /) -> _MaskedArray[signedinteger]: ... # type: ignore[overload-overlap]
- @overload
- def __rmul__(self: _MaskedArrayFloat_co, other: _ArrayLikeFloat_co, /) -> _MaskedArray[floating]: ... # type: ignore[overload-overlap]
- @overload
- def __rmul__(self: _MaskedArrayComplex_co, other: _ArrayLikeComplex_co, /) -> _MaskedArray[complexfloating]: ... # type: ignore[overload-overlap]
- @overload
- def __rmul__(self: _MaskedArray[number], other: _ArrayLikeNumber_co, /) -> _MaskedArray[number]: ...
- @overload
- def __rmul__(self: _MaskedArray[timedelta64], other: _ArrayLikeFloat_co, /) -> _MaskedArray[timedelta64]: ...
- @overload
- def __rmul__(self: _MaskedArrayFloat_co, other: _ArrayLike[timedelta64], /) -> _MaskedArray[timedelta64]: ...
- @overload
- def __rmul__(
- self: MaskedArray[Any, dtype[character] | dtypes.StringDType],
- other: _ArrayLikeInt,
- /,
- ) -> MaskedArray[tuple[Any, ...], _DTypeT_co]: ...
- @overload
- def __rmul__(self: _MaskedArray[object_], other: Any, /) -> Any: ...
- @overload
- def __rmul__(self: _MaskedArray[Any], other: _ArrayLikeObject_co, /) -> Any: ...
- # Keep in sync with `ndarray.__truediv__`
- @overload # type: ignore[override]
- def __truediv__(self: _MaskedArrayInt_co | _MaskedArray[float64], other: _ArrayLikeFloat64_co, /) -> _MaskedArray[float64]: ...
- @overload
- def __truediv__(self: _MaskedArrayFloat64_co, other: _ArrayLikeInt_co | _ArrayLike[floating[_64Bit]], /) -> _MaskedArray[float64]: ...
- @overload
- def __truediv__(self: _MaskedArray[complex128], other: _ArrayLikeComplex128_co, /) -> _MaskedArray[complex128]: ...
- @overload
- def __truediv__(self: _MaskedArrayComplex128_co, other: _ArrayLike[complexfloating[_64Bit]], /) -> _MaskedArray[complex128]: ...
- @overload
- def __truediv__(self: _MaskedArray[floating], other: _ArrayLikeFloat_co, /) -> _MaskedArray[floating]: ...
- @overload
- def __truediv__(self: _MaskedArrayFloat_co, other: _ArrayLike[floating], /) -> _MaskedArray[floating]: ...
- @overload
- def __truediv__(self: _MaskedArray[complexfloating], other: _ArrayLikeNumber_co, /) -> _MaskedArray[complexfloating]: ...
- @overload
- def __truediv__(self: _MaskedArrayNumber_co, other: _ArrayLike[complexfloating], /) -> _MaskedArray[complexfloating]: ...
- @overload
- def __truediv__(self: _MaskedArray[inexact], other: _ArrayLikeNumber_co, /) -> _MaskedArray[inexact]: ...
- @overload
- def __truediv__(self: _MaskedArray[number], other: _ArrayLikeNumber_co, /) -> _MaskedArray[number]: ...
- @overload
- def __truediv__(self: _MaskedArray[timedelta64], other: _ArrayLike[timedelta64], /) -> _MaskedArray[float64]: ...
- @overload
- def __truediv__(self: _MaskedArray[timedelta64], other: _ArrayLikeBool_co, /) -> NoReturn: ...
- @overload
- def __truediv__(self: _MaskedArray[timedelta64], other: _ArrayLikeFloat_co, /) -> _MaskedArray[timedelta64]: ...
- @overload
- def __truediv__(self: _MaskedArray[object_], other: Any, /) -> Any: ...
- @overload
- def __truediv__(self: _MaskedArray[Any], other: _ArrayLikeObject_co, /) -> Any: ...
- # Keep in sync with `ndarray.__rtruediv__`
- @overload # type: ignore[override]
- def __rtruediv__(self: _MaskedArrayInt_co | _MaskedArray[float64], other: _ArrayLikeFloat64_co, /) -> _MaskedArray[float64]: ...
- @overload
- def __rtruediv__(self: _MaskedArrayFloat64_co, other: _ArrayLikeInt_co | _ArrayLike[floating[_64Bit]], /) -> _MaskedArray[float64]: ...
- @overload
- def __rtruediv__(self: _MaskedArray[complex128], other: _ArrayLikeComplex128_co, /) -> _MaskedArray[complex128]: ...
- @overload
- def __rtruediv__(self: _MaskedArrayComplex128_co, other: _ArrayLike[complexfloating[_64Bit]], /) -> _MaskedArray[complex128]: ...
- @overload
- def __rtruediv__(self: _MaskedArray[floating], other: _ArrayLikeFloat_co, /) -> _MaskedArray[floating]: ...
- @overload
- def __rtruediv__(self: _MaskedArrayFloat_co, other: _ArrayLike[floating], /) -> _MaskedArray[floating]: ...
- @overload
- def __rtruediv__(self: _MaskedArray[complexfloating], other: _ArrayLikeNumber_co, /) -> _MaskedArray[complexfloating]: ...
- @overload
- def __rtruediv__(self: _MaskedArrayNumber_co, other: _ArrayLike[complexfloating], /) -> _MaskedArray[complexfloating]: ...
- @overload
- def __rtruediv__(self: _MaskedArray[inexact], other: _ArrayLikeNumber_co, /) -> _MaskedArray[inexact]: ...
- @overload
- def __rtruediv__(self: _MaskedArray[number], other: _ArrayLikeNumber_co, /) -> _MaskedArray[number]: ...
- @overload
- def __rtruediv__(self: _MaskedArray[timedelta64], other: _ArrayLike[timedelta64], /) -> _MaskedArray[float64]: ...
- @overload
- def __rtruediv__(self: _MaskedArray[integer | floating], other: _ArrayLike[timedelta64], /) -> _MaskedArray[timedelta64]: ...
- @overload
- def __rtruediv__(self: _MaskedArray[object_], other: Any, /) -> Any: ...
- @overload
- def __rtruediv__(self: _MaskedArray[Any], other: _ArrayLikeObject_co, /) -> Any: ...
- # Keep in sync with `ndarray.__floordiv__`
- @overload # type: ignore[override]
- def __floordiv__(self: _MaskedArray[_RealNumberT], other: int | np.bool, /) -> MaskedArray[_ShapeT_co, dtype[_RealNumberT]]: ...
- @overload
- def __floordiv__(self: _MaskedArray[_RealNumberT], other: _ArrayLikeBool_co, /) -> _MaskedArray[_RealNumberT]: ... # type: ignore[overload-overlap]
- @overload
- def __floordiv__(self: _MaskedArray[np.bool], other: _ArrayLikeBool_co, /) -> _MaskedArray[int8]: ... # type: ignore[overload-overlap]
- @overload
- def __floordiv__(self: _MaskedArray[np.bool], other: _ArrayLike[_RealNumberT], /) -> _MaskedArray[_RealNumberT]: ... # type: ignore[overload-overlap]
- @overload
- def __floordiv__(self: _MaskedArray[float64], other: _ArrayLikeFloat64_co, /) -> _MaskedArray[float64]: ...
- @overload
- def __floordiv__(self: _MaskedArrayFloat64_co, other: _ArrayLike[floating[_64Bit]], /) -> _MaskedArray[float64]: ...
- @overload
- def __floordiv__(self: _MaskedArrayUInt_co, other: _ArrayLikeUInt_co, /) -> _MaskedArray[unsignedinteger]: ... # type: ignore[overload-overlap]
- @overload
- def __floordiv__(self: _MaskedArrayInt_co, other: _ArrayLikeInt_co, /) -> _MaskedArray[signedinteger]: ... # type: ignore[overload-overlap]
- @overload
- def __floordiv__(self: _MaskedArrayFloat_co, other: _ArrayLikeFloat_co, /) -> _MaskedArray[floating]: ...
- @overload
- def __floordiv__(self: _MaskedArray[timedelta64], other: _ArrayLike[timedelta64], /) -> _MaskedArray[int64]: ...
- @overload
- def __floordiv__(self: _MaskedArray[timedelta64], other: _ArrayLikeBool_co, /) -> NoReturn: ...
- @overload
- def __floordiv__(self: _MaskedArray[timedelta64], other: _ArrayLikeFloat_co, /) -> _MaskedArray[timedelta64]: ...
- @overload
- def __floordiv__(self: _MaskedArray[object_], other: Any, /) -> Any: ...
- @overload
- def __floordiv__(self: _MaskedArray[Any], other: _ArrayLikeObject_co, /) -> Any: ...
- # Keep in sync with `ndarray.__rfloordiv__`
- @overload # type: ignore[override]
- def __rfloordiv__(self: _MaskedArray[_RealNumberT], other: int | np.bool, /) -> MaskedArray[_ShapeT_co, dtype[_RealNumberT]]: ...
- @overload
- def __rfloordiv__(self: _MaskedArray[_RealNumberT], other: _ArrayLikeBool_co, /) -> _MaskedArray[_RealNumberT]: ... # type: ignore[overload-overlap]
- @overload
- def __rfloordiv__(self: _MaskedArray[np.bool], other: _ArrayLikeBool_co, /) -> _MaskedArray[int8]: ... # type: ignore[overload-overlap]
- @overload
- def __rfloordiv__(self: _MaskedArray[np.bool], other: _ArrayLike[_RealNumberT], /) -> _MaskedArray[_RealNumberT]: ... # type: ignore[overload-overlap]
- @overload
- def __rfloordiv__(self: _MaskedArray[float64], other: _ArrayLikeFloat64_co, /) -> _MaskedArray[float64]: ...
- @overload
- def __rfloordiv__(self: _MaskedArrayFloat64_co, other: _ArrayLike[floating[_64Bit]], /) -> _MaskedArray[float64]: ...
- @overload
- def __rfloordiv__(self: _MaskedArrayUInt_co, other: _ArrayLikeUInt_co, /) -> _MaskedArray[unsignedinteger]: ... # type: ignore[overload-overlap]
- @overload
- def __rfloordiv__(self: _MaskedArrayInt_co, other: _ArrayLikeInt_co, /) -> _MaskedArray[signedinteger]: ... # type: ignore[overload-overlap]
- @overload
- def __rfloordiv__(self: _MaskedArrayFloat_co, other: _ArrayLikeFloat_co, /) -> _MaskedArray[floating]: ... # type: ignore[overload-overlap]
- @overload
- def __rfloordiv__(self: _MaskedArray[timedelta64], other: _ArrayLike[timedelta64], /) -> _MaskedArray[int64]: ...
- @overload
- def __rfloordiv__(self: _MaskedArray[floating | integer], other: _ArrayLike[timedelta64], /) -> _MaskedArray[timedelta64]: ...
- @overload
- def __rfloordiv__(self: _MaskedArray[object_], other: Any, /) -> Any: ...
- @overload
- def __rfloordiv__(self: _MaskedArray[Any], other: _ArrayLikeObject_co, /) -> Any: ...
- # Keep in sync with `ndarray.__pow__` (minus the `mod` parameter)
- @overload # type: ignore[override]
- def __pow__(self: _MaskedArray[_NumberT], other: int | np.bool, /) -> MaskedArray[_ShapeT_co, dtype[_NumberT]]: ...
- @overload
- def __pow__(self: _MaskedArray[_NumberT], other: _ArrayLikeBool_co, /) -> _MaskedArray[_NumberT]: ... # type: ignore[overload-overlap]
- @overload
- def __pow__(self: _MaskedArray[np.bool], other: _ArrayLikeBool_co, /) -> _MaskedArray[int8]: ... # type: ignore[overload-overlap]
- @overload
- def __pow__(self: _MaskedArray[np.bool], other: _ArrayLike[_NumberT], /) -> _MaskedArray[_NumberT]: ... # type: ignore[overload-overlap]
- @overload
- def __pow__(self: _MaskedArray[float64], other: _ArrayLikeFloat64_co, /) -> _MaskedArray[float64]: ...
- @overload
- def __pow__(self: _MaskedArrayFloat64_co, other: _ArrayLike[floating[_64Bit]], /) -> _MaskedArray[float64]: ...
- @overload
- def __pow__(self: _MaskedArray[complex128], other: _ArrayLikeComplex128_co, /) -> _MaskedArray[complex128]: ...
- @overload
- def __pow__(self: _MaskedArrayComplex128_co, other: _ArrayLike[complexfloating[_64Bit]], /) -> _MaskedArray[complex128]: ...
- @overload
- def __pow__(self: _MaskedArrayUInt_co, other: _ArrayLikeUInt_co, /) -> _MaskedArray[unsignedinteger]: ... # type: ignore[overload-overlap]
- @overload
- def __pow__(self: _MaskedArrayInt_co, other: _ArrayLikeInt_co, /) -> _MaskedArray[signedinteger]: ... # type: ignore[overload-overlap]
- @overload
- def __pow__(self: _MaskedArrayFloat_co, other: _ArrayLikeFloat_co, /) -> _MaskedArray[floating]: ... # type: ignore[overload-overlap]
- @overload
- def __pow__(self: _MaskedArrayComplex_co, other: _ArrayLikeComplex_co, /) -> _MaskedArray[complexfloating]: ...
- @overload
- def __pow__(self: _MaskedArray[number], other: _ArrayLikeNumber_co, /) -> _MaskedArray[number]: ...
- @overload
- def __pow__(self: _MaskedArray[object_], other: Any, /) -> Any: ...
- @overload
- def __pow__(self: _MaskedArray[Any], other: _ArrayLikeObject_co, /) -> Any: ...
- # Keep in sync with `ndarray.__rpow__` (minus the `mod` parameter)
- @overload # type: ignore[override]
- def __rpow__(self: _MaskedArray[_NumberT], other: int | np.bool, /) -> MaskedArray[_ShapeT_co, dtype[_NumberT]]: ...
- @overload
- def __rpow__(self: _MaskedArray[_NumberT], other: _ArrayLikeBool_co, /) -> _MaskedArray[_NumberT]: ... # type: ignore[overload-overlap]
- @overload
- def __rpow__(self: _MaskedArray[np.bool], other: _ArrayLikeBool_co, /) -> _MaskedArray[int8]: ... # type: ignore[overload-overlap]
- @overload
- def __rpow__(self: _MaskedArray[np.bool], other: _ArrayLike[_NumberT], /) -> _MaskedArray[_NumberT]: ... # type: ignore[overload-overlap]
- @overload
- def __rpow__(self: _MaskedArray[float64], other: _ArrayLikeFloat64_co, /) -> _MaskedArray[float64]: ...
- @overload
- def __rpow__(self: _MaskedArrayFloat64_co, other: _ArrayLike[floating[_64Bit]], /) -> _MaskedArray[float64]: ...
- @overload
- def __rpow__(self: _MaskedArray[complex128], other: _ArrayLikeComplex128_co, /) -> _MaskedArray[complex128]: ...
- @overload
- def __rpow__(self: _MaskedArrayComplex128_co, other: _ArrayLike[complexfloating[_64Bit]], /) -> _MaskedArray[complex128]: ...
- @overload
- def __rpow__(self: _MaskedArrayUInt_co, other: _ArrayLikeUInt_co, /) -> _MaskedArray[unsignedinteger]: ... # type: ignore[overload-overlap]
- @overload
- def __rpow__(self: _MaskedArrayInt_co, other: _ArrayLikeInt_co, /) -> _MaskedArray[signedinteger]: ... # type: ignore[overload-overlap]
- @overload
- def __rpow__(self: _MaskedArrayFloat_co, other: _ArrayLikeFloat_co, /) -> _MaskedArray[floating]: ... # type: ignore[overload-overlap]
- @overload
- def __rpow__(self: _MaskedArrayComplex_co, other: _ArrayLikeComplex_co, /) -> _MaskedArray[complexfloating]: ...
- @overload
- def __rpow__(self: _MaskedArray[number], other: _ArrayLikeNumber_co, /) -> _MaskedArray[number]: ...
- @overload
- def __rpow__(self: _MaskedArray[object_], other: Any, /) -> Any: ...
- @overload
- def __rpow__(self: _MaskedArray[Any], other: _ArrayLikeObject_co, /) -> Any: ...
- #
- @property # type: ignore[misc]
- def imag(self: _HasDTypeWithRealAndImag[object, _ScalarT], /) -> MaskedArray[_ShapeT_co, dtype[_ScalarT]]: ... # type: ignore[override]
- def get_imag(self: _HasDTypeWithRealAndImag[object, _ScalarT], /) -> MaskedArray[_ShapeT_co, dtype[_ScalarT]]: ...
- #
- @property # type: ignore[misc]
- def real(self: _HasDTypeWithRealAndImag[_ScalarT, object], /) -> MaskedArray[_ShapeT_co, dtype[_ScalarT]]: ... # type: ignore[override]
- def get_real(self: _HasDTypeWithRealAndImag[_ScalarT, object], /) -> MaskedArray[_ShapeT_co, dtype[_ScalarT]]: ...
- # keep in sync with `np.ma.count`
- @overload
- def count(self, axis: None = None, keepdims: Literal[False] | _NoValueType = ...) -> int: ...
- @overload
- def count(self, axis: _ShapeLike, keepdims: bool | _NoValueType = ...) -> NDArray[int_]: ...
- @overload
- def count(self, axis: _ShapeLike | None = None, *, keepdims: Literal[True]) -> NDArray[int_]: ...
- @overload
- def count(self, axis: _ShapeLike | None, keepdims: Literal[True]) -> NDArray[int_]: ...
- # Keep in sync with `ndarray.reshape`
- # NOTE: reshape also accepts negative integers, so we can't use integer literals
- @overload # (None)
- def reshape(self, shape: None, /, *, order: _OrderACF = "C", copy: bool | None = None) -> Self: ...
- @overload # (empty_sequence)
- def reshape( # type: ignore[overload-overlap] # mypy false positive
- self,
- shape: Sequence[Never],
- /,
- *,
- order: _OrderACF = "C",
- copy: bool | None = None,
- ) -> MaskedArray[tuple[()], _DTypeT_co]: ...
- @overload # (() | (int) | (int, int) | ....) # up to 8-d
- def reshape(
- self,
- shape: _AnyShapeT,
- /,
- *,
- order: _OrderACF = "C",
- copy: bool | None = None,
- ) -> MaskedArray[_AnyShapeT, _DTypeT_co]: ...
- @overload # (index)
- def reshape(
- self,
- size1: SupportsIndex,
- /,
- *,
- order: _OrderACF = "C",
- copy: bool | None = None,
- ) -> MaskedArray[tuple[int], _DTypeT_co]: ...
- @overload # (index, index)
- def reshape(
- self,
- size1: SupportsIndex,
- size2: SupportsIndex,
- /,
- *,
- order: _OrderACF = "C",
- copy: bool | None = None,
- ) -> MaskedArray[tuple[int, int], _DTypeT_co]: ...
- @overload # (index, index, index)
- def reshape(
- self,
- size1: SupportsIndex,
- size2: SupportsIndex,
- size3: SupportsIndex,
- /,
- *,
- order: _OrderACF = "C",
- copy: bool | None = None,
- ) -> MaskedArray[tuple[int, int, int], _DTypeT_co]: ...
- @overload # (index, index, index, index)
- def reshape(
- self,
- size1: SupportsIndex,
- size2: SupportsIndex,
- size3: SupportsIndex,
- size4: SupportsIndex,
- /,
- *,
- order: _OrderACF = "C",
- copy: bool | None = None,
- ) -> MaskedArray[tuple[int, int, int, int], _DTypeT_co]: ...
- @overload # (int, *(index, ...))
- def reshape(
- self,
- size0: SupportsIndex,
- /,
- *shape: SupportsIndex,
- order: _OrderACF = "C",
- copy: bool | None = None,
- ) -> MaskedArray[_AnyShape, _DTypeT_co]: ...
- @overload # (sequence[index])
- def reshape(
- self,
- shape: Sequence[SupportsIndex],
- /,
- *,
- order: _OrderACF = "C",
- copy: bool | None = None,
- ) -> MaskedArray[_AnyShape, _DTypeT_co]: ...
- def resize(self, newshape: Never, refcheck: bool = True, order: bool = False) -> NoReturn: ... # type: ignore[override]
- def put(self, indices: _ArrayLikeInt_co, values: ArrayLike, mode: _ModeKind = "raise") -> None: ...
- def ids(self) -> tuple[int, int]: ...
- def iscontiguous(self) -> bool: ...
- # Keep in sync with `ma.core.all`
- @overload # type: ignore[override]
- def all(
- self,
- axis: None = None,
- out: None = None,
- keepdims: Literal[False] | _NoValueType = ...,
- ) -> bool_: ...
- @overload
- def all(
- self,
- axis: _ShapeLike | None = None,
- out: None = None,
- *,
- keepdims: Literal[True],
- ) -> _MaskedArray[bool_]: ...
- @overload
- def all(
- self,
- axis: _ShapeLike | None,
- out: None,
- keepdims: Literal[True],
- ) -> _MaskedArray[bool_]: ...
- @overload
- def all(
- self,
- axis: _ShapeLike | None = None,
- out: None = None,
- keepdims: bool | _NoValueType = ...,
- ) -> bool_ | _MaskedArray[bool_]: ...
- @overload
- def all(
- self,
- axis: _ShapeLike | None = None,
- *,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def all(
- self,
- axis: _ShapeLike | None,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- # Keep in sync with `ma.core.any`
- @overload # type: ignore[override]
- def any(
- self,
- axis: None = None,
- out: None = None,
- keepdims: Literal[False] | _NoValueType = ...,
- ) -> bool_: ...
- @overload
- def any(
- self,
- axis: _ShapeLike | None = None,
- out: None = None,
- *,
- keepdims: Literal[True],
- ) -> _MaskedArray[bool_]: ...
- @overload
- def any(
- self,
- axis: _ShapeLike | None,
- out: None,
- keepdims: Literal[True],
- ) -> _MaskedArray[bool_]: ...
- @overload
- def any(
- self,
- axis: _ShapeLike | None = None,
- out: None = None,
- keepdims: bool | _NoValueType = ...,
- ) -> bool_ | _MaskedArray[bool_]: ...
- @overload
- def any(
- self,
- axis: _ShapeLike | None = None,
- *,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def any(
- self,
- axis: _ShapeLike | None,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- # Keep in sync with `ndarray.trace` and `ma.core.trace`
- @overload
- def trace(
- self, # >= 2D MaskedArray
- offset: SupportsIndex = 0,
- axis1: SupportsIndex = 0,
- axis2: SupportsIndex = 1,
- dtype: DTypeLike | None = None,
- out: None = None,
- ) -> Any: ...
- @overload
- def trace(
- self, # >= 2D MaskedArray
- offset: SupportsIndex = 0,
- axis1: SupportsIndex = 0,
- axis2: SupportsIndex = 1,
- dtype: DTypeLike | None = None,
- *,
- out: _ArrayT,
- ) -> _ArrayT: ...
- @overload
- def trace(
- self, # >= 2D MaskedArray
- offset: SupportsIndex,
- axis1: SupportsIndex,
- axis2: SupportsIndex,
- dtype: DTypeLike | None,
- out: _ArrayT,
- ) -> _ArrayT: ...
- # This differs from `ndarray.dot`, in that 1D dot 1D returns a 0D array.
- @overload
- def dot(self, b: ArrayLike, out: None = None, strict: bool = False) -> _MaskedArray[Any]: ...
- @overload
- def dot(self, b: ArrayLike, out: _ArrayT, strict: bool = False) -> _ArrayT: ...
- # Keep in sync with `ma.core.sum`
- @overload # type: ignore[override]
- def sum(
- self,
- /,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- out: None = None,
- keepdims: bool | _NoValueType = ...,
- ) -> Any: ...
- @overload
- def sum(
- self,
- /,
- axis: _ShapeLike | None,
- dtype: DTypeLike | None,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def sum(
- self,
- /,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- *,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- # Keep in sync with `ndarray.cumsum` and `ma.core.cumsum`
- @overload # out: None (default)
- def cumsum(self, /, axis: SupportsIndex | None = None, dtype: DTypeLike | None = None, out: None = None) -> _MaskedArray[Any]: ...
- @overload # out: ndarray
- def cumsum(self, /, axis: SupportsIndex | None, dtype: DTypeLike | None, out: _ArrayT) -> _ArrayT: ...
- @overload
- def cumsum(self, /, axis: SupportsIndex | None = None, dtype: DTypeLike | None = None, *, out: _ArrayT) -> _ArrayT: ...
- # Keep in sync with `ma.core.prod`
- @overload # type: ignore[override]
- def prod(
- self,
- /,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- out: None = None,
- keepdims: bool | _NoValueType = ...,
- ) -> Any: ...
- @overload
- def prod(
- self,
- /,
- axis: _ShapeLike | None,
- dtype: DTypeLike | None,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def prod(
- self,
- /,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- *,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- product = prod
- # Keep in sync with `ndarray.cumprod` and `ma.core.cumprod`
- @overload # out: None (default)
- def cumprod(self, /, axis: SupportsIndex | None = None, dtype: DTypeLike | None = None, out: None = None) -> _MaskedArray[Any]: ...
- @overload # out: ndarray
- def cumprod(self, /, axis: SupportsIndex | None, dtype: DTypeLike | None, out: _ArrayT) -> _ArrayT: ...
- @overload
- def cumprod(self, /, axis: SupportsIndex | None = None, dtype: DTypeLike | None = None, *, out: _ArrayT) -> _ArrayT: ...
- # Keep in sync with `ma.core.mean`
- @overload # type: ignore[override]
- def mean(
- self,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- out: None = None,
- keepdims: bool | _NoValueType = ...,
- ) -> Any: ...
- @overload
- def mean(
- self,
- /,
- axis: _ShapeLike | None,
- dtype: DTypeLike | None,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def mean(
- self,
- /,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- *,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- # keep roughly in sync with `ma.core.anom`
- @overload
- def anom(self, axis: SupportsIndex | None = None, dtype: None = None) -> Self: ...
- @overload
- def anom(self, axis: SupportsIndex | None = None, *, dtype: DTypeLike) -> MaskedArray[_ShapeT_co, dtype]: ...
- @overload
- def anom(self, axis: SupportsIndex | None, dtype: DTypeLike) -> MaskedArray[_ShapeT_co, dtype]: ...
- # keep in sync with `std` and `ma.core.var`
- @overload # type: ignore[override]
- def var(
- self,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- out: None = None,
- ddof: float = 0,
- keepdims: bool | _NoValueType = ...,
- mean: _ArrayLikeNumber_co | _NoValueType = ...,
- ) -> Any: ...
- @overload
- def var(
- self,
- axis: _ShapeLike | None,
- dtype: DTypeLike | None,
- out: _ArrayT,
- ddof: float = 0,
- keepdims: bool | _NoValueType = ...,
- mean: _ArrayLikeNumber_co | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def var(
- self,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- *,
- out: _ArrayT,
- ddof: float = 0,
- keepdims: bool | _NoValueType = ...,
- mean: _ArrayLikeNumber_co | _NoValueType = ...,
- ) -> _ArrayT: ...
- # keep in sync with `var` and `ma.core.std`
- @overload # type: ignore[override]
- def std(
- self,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- out: None = None,
- ddof: float = 0,
- keepdims: bool | _NoValueType = ...,
- mean: _ArrayLikeNumber_co | _NoValueType = ...,
- ) -> Any: ...
- @overload
- def std(
- self,
- axis: _ShapeLike | None,
- dtype: DTypeLike | None,
- out: _ArrayT,
- ddof: float = 0,
- keepdims: bool | _NoValueType = ...,
- mean: _ArrayLikeNumber_co | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def std(
- self,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- *,
- out: _ArrayT,
- ddof: float = 0,
- keepdims: bool | _NoValueType = ...,
- mean: _ArrayLikeNumber_co | _NoValueType = ...,
- ) -> _ArrayT: ...
- # Keep in sync with `ndarray.round`
- @overload # out=None (default)
- def round(self, /, decimals: SupportsIndex = 0, out: None = None) -> Self: ...
- @overload # out=ndarray
- def round(self, /, decimals: SupportsIndex, out: _ArrayT) -> _ArrayT: ...
- @overload
- def round(self, /, decimals: SupportsIndex = 0, *, out: _ArrayT) -> _ArrayT: ...
- def argsort( # type: ignore[override]
- self,
- axis: SupportsIndex | _NoValueType = ...,
- kind: _SortKind | None = None,
- order: str | Sequence[str] | None = None,
- endwith: bool = True,
- fill_value: _ScalarLike_co | None = None,
- *,
- stable: bool = False,
- ) -> _MaskedArray[intp]: ...
- # Keep in-sync with np.ma.argmin
- @overload # type: ignore[override]
- def argmin(
- self,
- axis: None = None,
- fill_value: _ScalarLike_co | None = None,
- out: None = None,
- *,
- keepdims: Literal[False] | _NoValueType = ...,
- ) -> intp: ...
- @overload
- def argmin(
- self,
- axis: SupportsIndex | None = None,
- fill_value: _ScalarLike_co | None = None,
- out: None = None,
- *,
- keepdims: bool | _NoValueType = ...,
- ) -> Any: ...
- @overload
- def argmin(
- self,
- axis: SupportsIndex | None = None,
- fill_value: _ScalarLike_co | None = None,
- *,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def argmin(
- self,
- axis: SupportsIndex | None,
- fill_value: _ScalarLike_co | None,
- out: _ArrayT,
- *,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- # Keep in-sync with np.ma.argmax
- @overload # type: ignore[override]
- def argmax(
- self,
- axis: None = None,
- fill_value: _ScalarLike_co | None = None,
- out: None = None,
- *,
- keepdims: Literal[False] | _NoValueType = ...,
- ) -> intp: ...
- @overload
- def argmax(
- self,
- axis: SupportsIndex | None = None,
- fill_value: _ScalarLike_co | None = None,
- out: None = None,
- *,
- keepdims: bool | _NoValueType = ...,
- ) -> Any: ...
- @overload
- def argmax(
- self,
- axis: SupportsIndex | None = None,
- fill_value: _ScalarLike_co | None = None,
- *,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def argmax(
- self,
- axis: SupportsIndex | None,
- fill_value: _ScalarLike_co | None,
- out: _ArrayT,
- *,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- #
- def sort( # type: ignore[override]
- self,
- axis: SupportsIndex = -1,
- kind: _SortKind | None = None,
- order: str | Sequence[str] | None = None,
- endwith: bool | None = True,
- fill_value: _ScalarLike_co | None = None,
- *,
- stable: Literal[False] | None = False,
- ) -> None: ...
- #
- @overload # type: ignore[override]
- def min(
- self: _MaskedArray[_ScalarT],
- axis: None = None,
- out: None = None,
- fill_value: _ScalarLike_co | None = None,
- keepdims: Literal[False] | _NoValueType = ...,
- ) -> _ScalarT: ...
- @overload
- def min(
- self,
- axis: _ShapeLike | None = None,
- out: None = None,
- fill_value: _ScalarLike_co | None = None,
- keepdims: bool | _NoValueType = ...
- ) -> Any: ...
- @overload
- def min(
- self,
- axis: _ShapeLike | None,
- out: _ArrayT,
- fill_value: _ScalarLike_co | None = None,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def min(
- self,
- axis: _ShapeLike | None = None,
- *,
- out: _ArrayT,
- fill_value: _ScalarLike_co | None = None,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- #
- @overload # type: ignore[override]
- def max(
- self: _MaskedArray[_ScalarT],
- axis: None = None,
- out: None = None,
- fill_value: _ScalarLike_co | None = None,
- keepdims: Literal[False] | _NoValueType = ...,
- ) -> _ScalarT: ...
- @overload
- def max(
- self,
- axis: _ShapeLike | None = None,
- out: None = None,
- fill_value: _ScalarLike_co | None = None,
- keepdims: bool | _NoValueType = ...
- ) -> Any: ...
- @overload
- def max(
- self,
- axis: _ShapeLike | None,
- out: _ArrayT,
- fill_value: _ScalarLike_co | None = None,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def max(
- self,
- axis: _ShapeLike | None = None,
- *,
- out: _ArrayT,
- fill_value: _ScalarLike_co | None = None,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- #
- @overload
- def ptp(
- self: _MaskedArray[_ScalarT],
- axis: None = None,
- out: None = None,
- fill_value: _ScalarLike_co | None = None,
- keepdims: Literal[False] = False,
- ) -> _ScalarT: ...
- @overload
- def ptp(
- self,
- axis: _ShapeLike | None = None,
- out: None = None,
- fill_value: _ScalarLike_co | None = None,
- keepdims: bool = False,
- ) -> Any: ...
- @overload
- def ptp(
- self,
- axis: _ShapeLike | None,
- out: _ArrayT,
- fill_value: _ScalarLike_co | None = None,
- keepdims: bool = False,
- ) -> _ArrayT: ...
- @overload
- def ptp(
- self,
- axis: _ShapeLike | None = None,
- *,
- out: _ArrayT,
- fill_value: _ScalarLike_co | None = None,
- keepdims: bool = False,
- ) -> _ArrayT: ...
- #
- @overload
- def partition(
- self,
- /,
- kth: _ArrayLikeInt,
- axis: SupportsIndex = -1,
- kind: _PartitionKind = "introselect",
- order: None = None
- ) -> None: ...
- @overload
- def partition(
- self: _MaskedArray[np.void],
- /,
- kth: _ArrayLikeInt,
- axis: SupportsIndex = -1,
- kind: _PartitionKind = "introselect",
- order: str | Sequence[str] | None = None,
- ) -> None: ...
- #
- @overload
- def argpartition(
- self,
- /,
- kth: _ArrayLikeInt,
- axis: SupportsIndex | None = -1,
- kind: _PartitionKind = "introselect",
- order: None = None,
- ) -> _MaskedArray[intp]: ...
- @overload
- def argpartition(
- self: _MaskedArray[np.void],
- /,
- kth: _ArrayLikeInt,
- axis: SupportsIndex | None = -1,
- kind: _PartitionKind = "introselect",
- order: str | Sequence[str] | None = None,
- ) -> _MaskedArray[intp]: ...
- # Keep in-sync with np.ma.take
- @overload # type: ignore[override]
- def take( # type: ignore[overload-overlap]
- self: _MaskedArray[_ScalarT],
- indices: _IntLike_co,
- axis: None = None,
- out: None = None,
- mode: _ModeKind = "raise"
- ) -> _ScalarT: ...
- @overload
- def take(
- self: _MaskedArray[_ScalarT],
- indices: _ArrayLikeInt_co,
- axis: SupportsIndex | None = None,
- out: None = None,
- mode: _ModeKind = "raise",
- ) -> _MaskedArray[_ScalarT]: ...
- @overload
- def take(
- self,
- indices: _ArrayLikeInt_co,
- axis: SupportsIndex | None,
- out: _ArrayT,
- mode: _ModeKind = "raise",
- ) -> _ArrayT: ...
- @overload
- def take(
- self,
- indices: _ArrayLikeInt_co,
- axis: SupportsIndex | None = None,
- *,
- out: _ArrayT,
- mode: _ModeKind = "raise",
- ) -> _ArrayT: ...
- # keep in sync with `ndarray.diagonal`
- @override
- def diagonal(
- self,
- /,
- offset: SupportsIndex = 0,
- axis1: SupportsIndex = 0,
- axis2: SupportsIndex = 1,
- ) -> MaskedArray[_AnyShape, _DTypeT_co]: ...
- # keep in sync with `ndarray.repeat`
- @override
- @overload
- def repeat(
- self,
- /,
- repeats: _ArrayLikeInt_co,
- axis: None = None,
- ) -> MaskedArray[tuple[int], _DTypeT_co]: ...
- @overload
- def repeat(
- self,
- /,
- repeats: _ArrayLikeInt_co,
- axis: SupportsIndex,
- ) -> MaskedArray[_AnyShape, _DTypeT_co]: ...
- # keep in sync with `ndarray.flatten` and `ndarray.ravel`
- @override
- def flatten(self, /, order: _OrderKACF = "C") -> MaskedArray[tuple[int], _DTypeT_co]: ...
- @override
- def ravel(self, order: _OrderKACF = "C") -> MaskedArray[tuple[int], _DTypeT_co]: ...
- # keep in sync with `ndarray.squeeze`
- @override
- def squeeze(
- self,
- /,
- axis: SupportsIndex | tuple[SupportsIndex, ...] | None = None,
- ) -> MaskedArray[_AnyShape, _DTypeT_co]: ...
- #
- def toflex(self) -> MaskedArray[_ShapeT_co, np.dtype[np.void]]: ...
- def torecords(self) -> MaskedArray[_ShapeT_co, np.dtype[np.void]]: ...
- #
- @override
- def tobytes(self, /, fill_value: Incomplete | None = None, order: _OrderKACF = "C") -> bytes: ... # type: ignore[override]
- # keep in sync with `ndarray.tolist`
- @override
- @overload
- def tolist(self: MaskedArray[tuple[Never], dtype[generic[_T]]], /, fill_value: _ScalarLike_co | None = None) -> Any: ...
- @overload
- def tolist(self: MaskedArray[tuple[()], dtype[generic[_T]]], /, fill_value: _ScalarLike_co | None = None) -> _T: ...
- @overload
- def tolist(self: MaskedArray[tuple[int], dtype[generic[_T]]], /, fill_value: _ScalarLike_co | None = None) -> list[_T]: ...
- @overload
- def tolist(
- self: MaskedArray[tuple[int, int], dtype[generic[_T]]], /, fill_value: _ScalarLike_co | None = None
- ) -> list[list[_T]]: ...
- @overload
- def tolist(
- self: MaskedArray[tuple[int, int, int], dtype[generic[_T]]], /, fill_value: _ScalarLike_co | None = None
- ) -> list[list[list[_T]]]: ...
- @overload
- def tolist(self, /, fill_value: _ScalarLike_co | None = None) -> Any: ...
- # NOTE: will raise `NotImplementedError`
- @override
- def tofile(self, /, fid: Never, sep: str = "", format: str = "%s") -> NoReturn: ... # type: ignore[override]
- #
- @override
- def __deepcopy__(self, memo: dict[int, Any] | None = None) -> Self: ...
- # Keep `dtype` at the bottom to avoid name conflicts with `np.dtype`
- @property
- def dtype(self) -> _DTypeT_co: ...
- @dtype.setter
- def dtype(self: MaskedArray[_AnyShape, _DTypeT], dtype: _DTypeT, /) -> None: ...
- class mvoid(MaskedArray[_ShapeT_co, _DTypeT_co]):
- def __new__(
- self, # pyright: ignore[reportSelfClsParameterName]
- data,
- mask=...,
- dtype=...,
- fill_value=...,
- hardmask=...,
- copy=...,
- subok=...,
- ): ...
- def __getitem__(self, indx): ...
- def __setitem__(self, indx, value): ...
- def __iter__(self): ...
- def __len__(self): ...
- def filled(self, fill_value=None): ...
- def tolist(self): ... # type: ignore[override]
- def isMaskedArray(x: object) -> TypeIs[MaskedArray]: ...
- def isarray(x: object) -> TypeIs[MaskedArray]: ... # alias to isMaskedArray
- def isMA(x: object) -> TypeIs[MaskedArray]: ... # alias to isMaskedArray
- # 0D float64 array
- class MaskedConstant(MaskedArray[tuple[()], dtype[float64]]):
- def __new__(cls) -> Self: ...
- # these overrides are no-ops
- @override
- def __iadd__(self, other: _Ignored, /) -> Self: ... # type: ignore[override]
- @override
- def __isub__(self, other: _Ignored, /) -> Self: ... # type: ignore[override]
- @override
- def __imul__(self, other: _Ignored, /) -> Self: ... # type: ignore[override]
- @override
- def __ifloordiv__(self, other: _Ignored, /) -> Self: ...
- @override
- def __itruediv__(self, other: _Ignored, /) -> Self: ... # type: ignore[override]
- @override
- def __ipow__(self, other: _Ignored, /) -> Self: ... # type: ignore[override]
- @override
- def __deepcopy__(self, /, memo: _Ignored) -> Self: ... # type: ignore[override]
- @override
- def copy(self, /, *args: _Ignored, **kwargs: _Ignored) -> Self: ...
- masked: Final[MaskedConstant] = ...
- masked_singleton: Final[MaskedConstant] = ...
- masked_array: TypeAlias = MaskedArray
- # keep in sync with `MaskedArray.__new__`
- @overload
- def array(
- data: _ArrayLike[_ScalarT],
- dtype: None = None,
- copy: bool = False,
- order: _OrderKACF | None = None,
- mask: _ArrayLikeBool_co = nomask,
- fill_value: _ScalarLike_co | None = None,
- keep_mask: bool = True,
- hard_mask: bool = False,
- shrink: bool = True,
- subok: bool = True,
- ndmin: int = 0,
- ) -> _MaskedArray[_ScalarT]: ...
- @overload
- def array(
- data: object,
- dtype: _DTypeLike[_ScalarT],
- copy: bool = False,
- order: _OrderKACF | None = None,
- mask: _ArrayLikeBool_co = nomask,
- fill_value: _ScalarLike_co | None = None,
- keep_mask: bool = True,
- hard_mask: bool = False,
- shrink: bool = True,
- subok: bool = True,
- ndmin: int = 0,
- ) -> _MaskedArray[_ScalarT]: ...
- @overload
- def array(
- data: object,
- dtype: DTypeLike | None = None,
- copy: bool = False,
- order: _OrderKACF | None = None,
- mask: _ArrayLikeBool_co = nomask,
- fill_value: _ScalarLike_co | None = None,
- keep_mask: bool = True,
- hard_mask: bool = False,
- shrink: bool = True,
- subok: bool = True,
- ndmin: int = 0,
- ) -> _MaskedArray[_ScalarT]: ...
- # keep in sync with `array`
- @overload
- def asarray(a: _ArrayLike[_ScalarT], dtype: None = None, order: _OrderKACF | None = None) -> _MaskedArray[_ScalarT]: ...
- @overload
- def asarray(a: object, dtype: _DTypeLike[_ScalarT], order: _OrderKACF | None = None) -> _MaskedArray[_ScalarT]: ...
- @overload
- def asarray(a: object, dtype: DTypeLike | None = None, order: _OrderKACF | None = None) -> _MaskedArray[_ScalarT]: ...
- # keep in sync with `asarray` (but note the additional first overload)
- @overload
- def asanyarray(a: _MArrayT, dtype: None = None, order: _OrderKACF | None = None) -> _MArrayT: ...
- @overload
- def asanyarray(a: _ArrayLike[_ScalarT], dtype: None = None, order: _OrderKACF | None = None) -> _MaskedArray[_ScalarT]: ...
- @overload
- def asanyarray(a: object, dtype: _DTypeLike[_ScalarT], order: _OrderKACF | None = None) -> _MaskedArray[_ScalarT]: ...
- @overload
- def asanyarray(a: object, dtype: DTypeLike | None = None, order: _OrderKACF | None = None) -> _MaskedArray[_ScalarT]: ...
- #
- def is_masked(x: object) -> bool: ...
- @overload
- def min(
- obj: _ArrayLike[_ScalarT],
- axis: None = None,
- out: None = None,
- fill_value: _ScalarLike_co | None = None,
- keepdims: Literal[False] | _NoValueType = ...,
- ) -> _ScalarT: ...
- @overload
- def min(
- obj: ArrayLike,
- axis: _ShapeLike | None = None,
- out: None = None,
- fill_value: _ScalarLike_co | None = None,
- keepdims: bool | _NoValueType = ...
- ) -> Any: ...
- @overload
- def min(
- obj: ArrayLike,
- axis: _ShapeLike | None,
- out: _ArrayT,
- fill_value: _ScalarLike_co | None = None,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def min(
- obj: ArrayLike,
- axis: _ShapeLike | None = None,
- *,
- out: _ArrayT,
- fill_value: _ScalarLike_co | None = None,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def max(
- obj: _ArrayLike[_ScalarT],
- axis: None = None,
- out: None = None,
- fill_value: _ScalarLike_co | None = None,
- keepdims: Literal[False] | _NoValueType = ...,
- ) -> _ScalarT: ...
- @overload
- def max(
- obj: ArrayLike,
- axis: _ShapeLike | None = None,
- out: None = None,
- fill_value: _ScalarLike_co | None = None,
- keepdims: bool | _NoValueType = ...
- ) -> Any: ...
- @overload
- def max(
- obj: ArrayLike,
- axis: _ShapeLike | None,
- out: _ArrayT,
- fill_value: _ScalarLike_co | None = None,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def max(
- obj: ArrayLike,
- axis: _ShapeLike | None = None,
- *,
- out: _ArrayT,
- fill_value: _ScalarLike_co | None = None,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def ptp(
- obj: _ArrayLike[_ScalarT],
- axis: None = None,
- out: None = None,
- fill_value: _ScalarLike_co | None = None,
- keepdims: Literal[False] | _NoValueType = ...,
- ) -> _ScalarT: ...
- @overload
- def ptp(
- obj: ArrayLike,
- axis: _ShapeLike | None = None,
- out: None = None,
- fill_value: _ScalarLike_co | None = None,
- keepdims: bool | _NoValueType = ...
- ) -> Any: ...
- @overload
- def ptp(
- obj: ArrayLike,
- axis: _ShapeLike | None,
- out: _ArrayT,
- fill_value: _ScalarLike_co | None = None,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def ptp(
- obj: ArrayLike,
- axis: _ShapeLike | None = None,
- *,
- out: _ArrayT,
- fill_value: _ScalarLike_co | None = None,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- # we cannot meaningfully annotate `frommethod` further, because the callable signature
- # of the return type fully depends on the *value* of `methodname` and `reversed` in
- # a way that cannot be expressed in the Python type system.
- def _frommethod(methodname: str, reversed: bool = False) -> types.FunctionType: ...
- # NOTE: The following `*_mask` functions will accept any array-like input runtime, but
- # since their use-cases are specific to masks, they only accept `MaskedArray` inputs.
- # keep in sync with `MaskedArray.harden_mask`
- def harden_mask(a: _MArrayT) -> _MArrayT: ...
- # keep in sync with `MaskedArray.soften_mask`
- def soften_mask(a: _MArrayT) -> _MArrayT: ...
- # keep in sync with `MaskedArray.shrink_mask`
- def shrink_mask(a: _MArrayT) -> _MArrayT: ...
- # keep in sync with `MaskedArray.ids`
- def ids(a: ArrayLike) -> tuple[int, int]: ...
- # keep in sync with `ndarray.nonzero`
- def nonzero(a: ArrayLike) -> tuple[ndarray[tuple[int], np.dtype[intp]], ...]: ...
- # keep first overload in sync with `MaskedArray.ravel`
- @overload
- def ravel(a: np.ndarray[Any, _DTypeT], order: _OrderKACF = "C") -> MaskedArray[tuple[int], _DTypeT]: ...
- @overload
- def ravel(a: _ArrayLike[_ScalarT], order: _OrderKACF = "C") -> MaskedArray[tuple[int], np.dtype[_ScalarT]]: ...
- @overload
- def ravel(a: ArrayLike, order: _OrderKACF = "C") -> MaskedArray[tuple[int], _DTypeT_co]: ...
- # keep roughly in sync with `lib._function_base_impl.copy`
- @overload
- def copy(a: _MArrayT, order: _OrderKACF = "C") -> _MArrayT: ...
- @overload
- def copy(a: np.ndarray[_ShapeT, _DTypeT], order: _OrderKACF = "C") -> MaskedArray[_ShapeT, _DTypeT]: ...
- @overload
- def copy(a: _ArrayLike[_ScalarT], order: _OrderKACF = "C") -> _MaskedArray[_ScalarT]: ...
- @overload
- def copy(a: ArrayLike, order: _OrderKACF = "C") -> _MaskedArray[Incomplete]: ...
- # keep in sync with `_core.fromnumeric.diagonal`
- @overload
- def diagonal(
- a: _ArrayLike[_ScalarT],
- offset: SupportsIndex = 0,
- axis1: SupportsIndex = 0,
- axis2: SupportsIndex = 1,
- ) -> NDArray[_ScalarT]: ...
- @overload
- def diagonal(
- a: ArrayLike,
- offset: SupportsIndex = 0,
- axis1: SupportsIndex = 0,
- axis2: SupportsIndex = 1,
- ) -> NDArray[Incomplete]: ...
- # keep in sync with `_core.fromnumeric.repeat`
- @overload
- def repeat(a: _ArrayLike[_ScalarT], repeats: _ArrayLikeInt_co, axis: None = None) -> MaskedArray[tuple[int], dtype[_ScalarT]]: ...
- @overload
- def repeat(a: _ArrayLike[_ScalarT], repeats: _ArrayLikeInt_co, axis: SupportsIndex) -> _MaskedArray[_ScalarT]: ...
- @overload
- def repeat(a: ArrayLike, repeats: _ArrayLikeInt_co, axis: None = None) -> MaskedArray[tuple[int], dtype[Incomplete]]: ...
- @overload
- def repeat(a: ArrayLike, repeats: _ArrayLikeInt_co, axis: SupportsIndex) -> _MaskedArray[Incomplete]: ...
- # keep in sync with `_core.fromnumeric.swapaxes`
- @overload
- def swapaxes(a: _MArrayT, axis1: SupportsIndex, axis2: SupportsIndex) -> _MArrayT: ...
- @overload
- def swapaxes(a: _ArrayLike[_ScalarT], axis1: SupportsIndex, axis2: SupportsIndex) -> _MaskedArray[_ScalarT]: ...
- @overload
- def swapaxes(a: ArrayLike, axis1: SupportsIndex, axis2: SupportsIndex) -> _MaskedArray[Incomplete]: ...
- # NOTE: The `MaskedArray.anom` definition is specific to `MaskedArray`, so we need
- # additional overloads to cover the array-like input here.
- @overload # a: MaskedArray, dtype=None
- def anom(a: _MArrayT, axis: SupportsIndex | None = None, dtype: None = None) -> _MArrayT: ...
- @overload # a: array-like, dtype=None
- def anom(a: _ArrayLike[_ScalarT], axis: SupportsIndex | None = None, dtype: None = None) -> _MaskedArray[_ScalarT]: ...
- @overload # a: unknown array-like, dtype: dtype-like (positional)
- def anom(a: ArrayLike, axis: SupportsIndex | None, dtype: _DTypeLike[_ScalarT]) -> _MaskedArray[_ScalarT]: ...
- @overload # a: unknown array-like, dtype: dtype-like (keyword)
- def anom(a: ArrayLike, axis: SupportsIndex | None = None, *, dtype: _DTypeLike[_ScalarT]) -> _MaskedArray[_ScalarT]: ...
- @overload # a: unknown array-like, dtype: unknown dtype-like (positional)
- def anom(a: ArrayLike, axis: SupportsIndex | None, dtype: DTypeLike) -> _MaskedArray[Incomplete]: ...
- @overload # a: unknown array-like, dtype: unknown dtype-like (keyword)
- def anom(a: ArrayLike, axis: SupportsIndex | None = None, *, dtype: DTypeLike) -> _MaskedArray[Incomplete]: ...
- anomalies = anom
- # Keep in sync with `any` and `MaskedArray.all`
- @overload
- def all(a: ArrayLike, axis: None = None, out: None = None, keepdims: Literal[False] | _NoValueType = ...) -> np.bool: ...
- @overload
- def all(a: ArrayLike, axis: _ShapeLike | None, out: None, keepdims: Literal[True]) -> _MaskedArray[np.bool]: ...
- @overload
- def all(a: ArrayLike, axis: _ShapeLike | None = None, out: None = None, *, keepdims: Literal[True]) -> _MaskedArray[np.bool]: ...
- @overload
- def all(
- a: ArrayLike, axis: _ShapeLike | None = None, out: None = None, keepdims: bool | _NoValueType = ...
- ) -> np.bool | _MaskedArray[np.bool]: ...
- @overload
- def all(a: ArrayLike, axis: _ShapeLike | None, out: _ArrayT, keepdims: bool | _NoValueType = ...) -> _ArrayT: ...
- @overload
- def all(a: ArrayLike, axis: _ShapeLike | None = None, *, out: _ArrayT, keepdims: bool | _NoValueType = ...) -> _ArrayT: ...
- # Keep in sync with `all` and `MaskedArray.any`
- @overload
- def any(a: ArrayLike, axis: None = None, out: None = None, keepdims: Literal[False] | _NoValueType = ...) -> np.bool: ...
- @overload
- def any(a: ArrayLike, axis: _ShapeLike | None, out: None, keepdims: Literal[True]) -> _MaskedArray[np.bool]: ...
- @overload
- def any(a: ArrayLike, axis: _ShapeLike | None = None, out: None = None, *, keepdims: Literal[True]) -> _MaskedArray[np.bool]: ...
- @overload
- def any(
- a: ArrayLike, axis: _ShapeLike | None = None, out: None = None, keepdims: bool | _NoValueType = ...
- ) -> np.bool | _MaskedArray[np.bool]: ...
- @overload
- def any(a: ArrayLike, axis: _ShapeLike | None, out: _ArrayT, keepdims: bool | _NoValueType = ...) -> _ArrayT: ...
- @overload
- def any(a: ArrayLike, axis: _ShapeLike | None = None, *, out: _ArrayT, keepdims: bool | _NoValueType = ...) -> _ArrayT: ...
- # NOTE: The `MaskedArray.compress` definition uses its `DTypeT_co` type parameter,
- # which wouldn't work here for array-like inputs, so we need additional overloads.
- @overload
- def compress(
- condition: _ArrayLikeBool_co, a: _ArrayLike[_ScalarT], axis: None = None, out: None = None
- ) -> MaskedArray[tuple[int], np.dtype[_ScalarT]]: ...
- @overload
- def compress(
- condition: _ArrayLikeBool_co, a: _ArrayLike[_ScalarT], axis: _ShapeLike | None = None, out: None = None
- ) -> MaskedArray[_AnyShape, np.dtype[_ScalarT]]: ...
- @overload
- def compress(condition: _ArrayLikeBool_co, a: ArrayLike, axis: None = None, out: None = None) -> MaskedArray[tuple[int]]: ...
- @overload
- def compress(
- condition: _ArrayLikeBool_co, a: ArrayLike, axis: _ShapeLike | None = None, out: None = None
- ) -> _MaskedArray[Incomplete]: ...
- @overload
- def compress(condition: _ArrayLikeBool_co, a: ArrayLike, axis: _ShapeLike | None, out: _ArrayT) -> _ArrayT: ...
- @overload
- def compress(condition: _ArrayLikeBool_co, a: ArrayLike, axis: _ShapeLike | None = None, *, out: _ArrayT) -> _ArrayT: ...
- # Keep in sync with `cumprod` and `MaskedArray.cumsum`
- @overload # out: None (default)
- def cumsum(
- a: ArrayLike, axis: SupportsIndex | None = None, dtype: DTypeLike | None = None, out: None = None
- ) -> _MaskedArray[Incomplete]: ...
- @overload # out: ndarray (positional)
- def cumsum(a: ArrayLike, axis: SupportsIndex | None, dtype: DTypeLike | None, out: _ArrayT) -> _ArrayT: ...
- @overload # out: ndarray (kwarg)
- def cumsum(a: ArrayLike, axis: SupportsIndex | None = None, dtype: DTypeLike | None = None, *, out: _ArrayT) -> _ArrayT: ...
- # Keep in sync with `cumsum` and `MaskedArray.cumsum`
- @overload # out: None (default)
- def cumprod(
- a: ArrayLike, axis: SupportsIndex | None = None, dtype: DTypeLike | None = None, out: None = None
- ) -> _MaskedArray[Incomplete]: ...
- @overload # out: ndarray (positional)
- def cumprod(a: ArrayLike, axis: SupportsIndex | None, dtype: DTypeLike | None, out: _ArrayT) -> _ArrayT: ...
- @overload # out: ndarray (kwarg)
- def cumprod(a: ArrayLike, axis: SupportsIndex | None = None, dtype: DTypeLike | None = None, *, out: _ArrayT) -> _ArrayT: ...
- # Keep in sync with `sum`, `prod`, `product`, and `MaskedArray.mean`
- @overload
- def mean(
- a: ArrayLike,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- out: None = None,
- keepdims: bool | _NoValueType = ...,
- ) -> Incomplete: ...
- @overload
- def mean(
- a: ArrayLike,
- axis: _ShapeLike | None,
- dtype: DTypeLike | None,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def mean(
- a: ArrayLike,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- *,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- # Keep in sync with `mean`, `prod`, `product`, and `MaskedArray.sum`
- @overload
- def sum(
- a: ArrayLike,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- out: None = None,
- keepdims: bool | _NoValueType = ...,
- ) -> Incomplete: ...
- @overload
- def sum(
- a: ArrayLike,
- axis: _ShapeLike | None,
- dtype: DTypeLike | None,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def sum(
- a: ArrayLike,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- *,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- # Keep in sync with `product` and `MaskedArray.prod`
- @overload
- def prod(
- a: ArrayLike,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- out: None = None,
- keepdims: bool | _NoValueType = ...,
- ) -> Incomplete: ...
- @overload
- def prod(
- a: ArrayLike,
- axis: _ShapeLike | None,
- dtype: DTypeLike | None,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def prod(
- a: ArrayLike,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- *,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- # Keep in sync with `prod` and `MaskedArray.prod`
- @overload
- def product(
- a: ArrayLike,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- out: None = None,
- keepdims: bool | _NoValueType = ...,
- ) -> Incomplete: ...
- @overload
- def product(
- a: ArrayLike,
- axis: _ShapeLike | None,
- dtype: DTypeLike | None,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def product(
- a: ArrayLike,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- *,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- # Keep in sync with `MaskedArray.trace` and `_core.fromnumeric.trace`
- @overload
- def trace(
- a: ArrayLike,
- offset: SupportsIndex = 0,
- axis1: SupportsIndex = 0,
- axis2: SupportsIndex = 1,
- dtype: DTypeLike | None = None,
- out: None = None,
- ) -> Incomplete: ...
- @overload
- def trace(
- a: ArrayLike,
- offset: SupportsIndex,
- axis1: SupportsIndex,
- axis2: SupportsIndex,
- dtype: DTypeLike | None,
- out: _ArrayT,
- ) -> _ArrayT: ...
- @overload
- def trace(
- a: ArrayLike,
- offset: SupportsIndex = 0,
- axis1: SupportsIndex = 0,
- axis2: SupportsIndex = 1,
- dtype: DTypeLike | None = None,
- *,
- out: _ArrayT,
- ) -> _ArrayT: ...
- # keep in sync with `std` and `MaskedArray.var`
- @overload
- def std(
- a: ArrayLike,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- out: None = None,
- ddof: float = 0,
- keepdims: bool | _NoValueType = ...,
- mean: _ArrayLikeNumber_co | _NoValueType = ...,
- ) -> Incomplete: ...
- @overload
- def std(
- a: ArrayLike,
- axis: _ShapeLike | None,
- dtype: DTypeLike | None,
- out: _ArrayT,
- ddof: float = 0,
- keepdims: bool | _NoValueType = ...,
- mean: _ArrayLikeNumber_co | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def std(
- a: ArrayLike,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- *,
- out: _ArrayT,
- ddof: float = 0,
- keepdims: bool | _NoValueType = ...,
- mean: _ArrayLikeNumber_co | _NoValueType = ...,
- ) -> _ArrayT: ...
- # keep in sync with `std` and `MaskedArray.var`
- @overload
- def var(
- a: ArrayLike,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- out: None = None,
- ddof: float = 0,
- keepdims: bool | _NoValueType = ...,
- mean: _ArrayLikeNumber_co | _NoValueType = ...,
- ) -> Incomplete: ...
- @overload
- def var(
- a: ArrayLike,
- axis: _ShapeLike | None,
- dtype: DTypeLike | None,
- out: _ArrayT,
- ddof: float = 0,
- keepdims: bool | _NoValueType = ...,
- mean: _ArrayLikeNumber_co | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def var(
- a: ArrayLike,
- axis: _ShapeLike | None = None,
- dtype: DTypeLike | None = None,
- *,
- out: _ArrayT,
- ddof: float = 0,
- keepdims: bool | _NoValueType = ...,
- mean: _ArrayLikeNumber_co | _NoValueType = ...,
- ) -> _ArrayT: ...
- # (a, b)
- minimum: _extrema_operation = ...
- maximum: _extrema_operation = ...
- # NOTE: this is a `_frommethod` instance at runtime
- @overload
- def count(a: ArrayLike, axis: None = None, keepdims: Literal[False] | _NoValueType = ...) -> int: ...
- @overload
- def count(a: ArrayLike, axis: _ShapeLike, keepdims: bool | _NoValueType = ...) -> NDArray[int_]: ...
- @overload
- def count(a: ArrayLike, axis: _ShapeLike | None = None, *, keepdims: Literal[True]) -> NDArray[int_]: ...
- @overload
- def count(a: ArrayLike, axis: _ShapeLike | None, keepdims: Literal[True]) -> NDArray[int_]: ...
- # NOTE: this is a `_frommethod` instance at runtime
- @overload
- def argmin(
- a: ArrayLike,
- axis: None = None,
- fill_value: _ScalarLike_co | None = None,
- out: None = None,
- *,
- keepdims: Literal[False] | _NoValueType = ...,
- ) -> intp: ...
- @overload
- def argmin(
- a: ArrayLike,
- axis: SupportsIndex | None = None,
- fill_value: _ScalarLike_co | None = None,
- out: None = None,
- *,
- keepdims: bool | _NoValueType = ...,
- ) -> Any: ...
- @overload
- def argmin(
- a: ArrayLike,
- axis: SupportsIndex | None = None,
- fill_value: _ScalarLike_co | None = None,
- *,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def argmin(
- a: ArrayLike,
- axis: SupportsIndex | None,
- fill_value: _ScalarLike_co | None,
- out: _ArrayT,
- *,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- # keep in sync with `argmin`
- @overload
- def argmax(
- a: ArrayLike,
- axis: None = None,
- fill_value: _ScalarLike_co | None = None,
- out: None = None,
- *,
- keepdims: Literal[False] | _NoValueType = ...,
- ) -> intp: ...
- @overload
- def argmax(
- a: ArrayLike,
- axis: SupportsIndex | None = None,
- fill_value: _ScalarLike_co | None = None,
- out: None = None,
- *,
- keepdims: bool | _NoValueType = ...,
- ) -> Any: ...
- @overload
- def argmax(
- a: ArrayLike,
- axis: SupportsIndex | None = None,
- fill_value: _ScalarLike_co | None = None,
- *,
- out: _ArrayT,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def argmax(
- a: ArrayLike,
- axis: SupportsIndex | None,
- fill_value: _ScalarLike_co | None,
- out: _ArrayT,
- *,
- keepdims: bool | _NoValueType = ...,
- ) -> _ArrayT: ...
- @overload
- def take(
- a: _ArrayLike[_ScalarT],
- indices: _IntLike_co,
- axis: None = None,
- out: None = None,
- mode: _ModeKind = "raise"
- ) -> _ScalarT: ...
- @overload
- def take(
- a: _ArrayLike[_ScalarT],
- indices: _ArrayLikeInt_co,
- axis: SupportsIndex | None = None,
- out: None = None,
- mode: _ModeKind = "raise",
- ) -> _MaskedArray[_ScalarT]: ...
- @overload
- def take(
- a: ArrayLike,
- indices: _IntLike_co,
- axis: SupportsIndex | None = None,
- out: None = None,
- mode: _ModeKind = "raise",
- ) -> Any: ...
- @overload
- def take(
- a: ArrayLike,
- indices: _ArrayLikeInt_co,
- axis: SupportsIndex | None = None,
- out: None = None,
- mode: _ModeKind = "raise",
- ) -> _MaskedArray[Any]: ...
- @overload
- def take(
- a: ArrayLike,
- indices: _ArrayLikeInt_co,
- axis: SupportsIndex | None,
- out: _ArrayT,
- mode: _ModeKind = "raise",
- ) -> _ArrayT: ...
- @overload
- def take(
- a: ArrayLike,
- indices: _ArrayLikeInt_co,
- axis: SupportsIndex | None = None,
- *,
- out: _ArrayT,
- mode: _ModeKind = "raise",
- ) -> _ArrayT: ...
- def power(a, b, third=None): ...
- def argsort(a, axis=..., kind=None, order=None, endwith=True, fill_value=None, *, stable=None): ...
- @overload
- def sort(
- a: _ArrayT,
- axis: SupportsIndex = -1,
- kind: _SortKind | None = None,
- order: str | Sequence[str] | None = None,
- endwith: bool | None = True,
- fill_value: _ScalarLike_co | None = None,
- *,
- stable: Literal[False] | None = None,
- ) -> _ArrayT: ...
- @overload
- def sort(
- a: ArrayLike,
- axis: SupportsIndex = -1,
- kind: _SortKind | None = None,
- order: str | Sequence[str] | None = None,
- endwith: bool | None = True,
- fill_value: _ScalarLike_co | None = None,
- *,
- stable: Literal[False] | None = None,
- ) -> NDArray[Any]: ...
- @overload
- def compressed(x: _ArrayLike[_ScalarT_co]) -> _Array1D[_ScalarT_co]: ...
- @overload
- def compressed(x: ArrayLike) -> _Array1D[Any]: ...
- def concatenate(arrays, axis=0): ...
- def diag(v, k=0): ...
- def left_shift(a, n): ...
- def right_shift(a, n): ...
- def put(a: NDArray[Any], indices: _ArrayLikeInt_co, values: ArrayLike, mode: _ModeKind = "raise") -> None: ...
- def putmask(a: NDArray[Any], mask: _ArrayLikeBool_co, values: ArrayLike) -> None: ...
- def transpose(a, axes=None): ...
- def reshape(a, new_shape, order="C"): ...
- def resize(x, new_shape): ...
- def ndim(obj: ArrayLike) -> int: ...
- def shape(obj): ...
- def size(obj: ArrayLike, axis: SupportsIndex | None = None) -> int: ...
- def diff(a, /, n=1, axis=-1, prepend=..., append=...): ...
- def where(condition, x=..., y=...): ...
- def choose(indices, choices, out=None, mode="raise"): ...
- def round_(a, decimals=0, out=None): ...
- round = round_
- def inner(a, b): ...
- innerproduct = inner
- def outer(a, b): ...
- outerproduct = outer
- def correlate(a, v, mode="valid", propagate_mask=True): ...
- def convolve(a, v, mode="full", propagate_mask=True): ...
- def allequal(a: ArrayLike, b: ArrayLike, fill_value: bool = True) -> bool: ...
- def allclose(a: ArrayLike, b: ArrayLike, masked_equal: bool = True, rtol: float = 1e-5, atol: float = 1e-8) -> bool: ...
- def fromflex(fxarray): ...
- def append(a, b, axis=None): ...
- def dot(a, b, strict=False, out=None): ...
- # internal wrapper functions for the functions below
- def _convert2ma(
- funcname: str,
- np_ret: str,
- np_ma_ret: str,
- params: dict[str, Any] | None = None,
- ) -> Callable[..., Any]: ...
- # keep in sync with `_core.multiarray.arange`
- @overload # dtype=<known>
- def arange(
- start_or_stop: _ArangeScalar | float,
- /,
- stop: _ArangeScalar | float | None = None,
- step: _ArangeScalar | float | None = 1,
- *,
- dtype: _DTypeLike[_ArangeScalarT],
- device: Literal["cpu"] | None = None,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> _Masked1D[_ArangeScalarT]: ...
- @overload # (int-like, int-like?, int-like?)
- def arange(
- start_or_stop: _IntLike_co,
- /,
- stop: _IntLike_co | None = None,
- step: _IntLike_co | None = 1,
- *,
- dtype: type[int] | _DTypeLike[np.int_] | None = None,
- device: Literal["cpu"] | None = None,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> _Masked1D[np.int_]: ...
- @overload # (float, float-like?, float-like?)
- def arange(
- start_or_stop: float | floating,
- /,
- stop: _FloatLike_co | None = None,
- step: _FloatLike_co | None = 1,
- *,
- dtype: type[float] | _DTypeLike[np.float64] | None = None,
- device: Literal["cpu"] | None = None,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> _Masked1D[np.float64 | Any]: ...
- @overload # (float-like, float, float-like?)
- def arange(
- start_or_stop: _FloatLike_co,
- /,
- stop: float | floating,
- step: _FloatLike_co | None = 1,
- *,
- dtype: type[float] | _DTypeLike[np.float64] | None = None,
- device: Literal["cpu"] | None = None,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> _Masked1D[np.float64 | Any]: ...
- @overload # (timedelta, timedelta-like?, timedelta-like?)
- def arange(
- start_or_stop: np.timedelta64,
- /,
- stop: _TD64Like_co | None = None,
- step: _TD64Like_co | None = 1,
- *,
- dtype: _DTypeLike[np.timedelta64] | None = None,
- device: Literal["cpu"] | None = None,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> _Masked1D[np.timedelta64[Incomplete]]: ...
- @overload # (timedelta-like, timedelta, timedelta-like?)
- def arange(
- start_or_stop: _TD64Like_co,
- /,
- stop: np.timedelta64,
- step: _TD64Like_co | None = 1,
- *,
- dtype: _DTypeLike[np.timedelta64] | None = None,
- device: Literal["cpu"] | None = None,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> _Masked1D[np.timedelta64[Incomplete]]: ...
- @overload # (datetime, datetime, timedelta-like) (requires both start and stop)
- def arange(
- start_or_stop: np.datetime64,
- /,
- stop: np.datetime64,
- step: _TD64Like_co | None = 1,
- *,
- dtype: _DTypeLike[np.datetime64] | None = None,
- device: Literal["cpu"] | None = None,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> _Masked1D[np.datetime64[Incomplete]]: ...
- @overload # dtype=<unknown>
- def arange(
- start_or_stop: _ArangeScalar | float,
- /,
- stop: _ArangeScalar | float | None = None,
- step: _ArangeScalar | float | None = 1,
- *,
- dtype: DTypeLike | None = None,
- device: Literal["cpu"] | None = None,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> _Masked1D[Incomplete]: ...
- # based on `_core.fromnumeric.clip`
- @overload
- def clip(
- a: _ScalarT,
- a_min: ArrayLike | _NoValueType | None = ...,
- a_max: ArrayLike | _NoValueType | None = ...,
- out: None = None,
- *,
- min: ArrayLike | _NoValueType | None = ...,
- max: ArrayLike | _NoValueType | None = ...,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- dtype: None = None,
- **kwargs: Unpack[_UFuncKwargs],
- ) -> _ScalarT: ...
- @overload
- def clip(
- a: NDArray[_ScalarT],
- a_min: ArrayLike | _NoValueType | None = ...,
- a_max: ArrayLike | _NoValueType | None = ...,
- out: None = None,
- *,
- min: ArrayLike | _NoValueType | None = ...,
- max: ArrayLike | _NoValueType | None = ...,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- dtype: None = None,
- **kwargs: Unpack[_UFuncKwargs],
- ) -> _MaskedArray[_ScalarT]: ...
- @overload
- def clip(
- a: ArrayLike,
- a_min: ArrayLike | None,
- a_max: ArrayLike | None,
- out: _MArrayT,
- *,
- min: ArrayLike | _NoValueType | None = ...,
- max: ArrayLike | _NoValueType | None = ...,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- dtype: DTypeLike | None = None,
- **kwargs: Unpack[_UFuncKwargs],
- ) -> _MArrayT: ...
- @overload
- def clip(
- a: ArrayLike,
- a_min: ArrayLike | _NoValueType | None = ...,
- a_max: ArrayLike | _NoValueType | None = ...,
- *,
- out: _MArrayT,
- min: ArrayLike | _NoValueType | None = ...,
- max: ArrayLike | _NoValueType | None = ...,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- dtype: DTypeLike | None = None,
- **kwargs: Unpack[_UFuncKwargs],
- ) -> _MArrayT: ...
- @overload
- def clip(
- a: ArrayLike,
- a_min: ArrayLike | _NoValueType | None = ...,
- a_max: ArrayLike | _NoValueType | None = ...,
- out: None = None,
- *,
- min: ArrayLike | _NoValueType | None = ...,
- max: ArrayLike | _NoValueType | None = ...,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- dtype: DTypeLike | None = None,
- **kwargs: Unpack[_UFuncKwargs],
- ) -> Incomplete: ...
- # keep in sync with `_core.multiarray.ones`
- @overload
- def empty(
- shape: SupportsIndex,
- dtype: None = None,
- order: _OrderCF = "C",
- *,
- device: Literal["cpu"] | None = None,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> MaskedArray[tuple[int], np.dtype[np.float64]]: ...
- @overload
- def empty(
- shape: SupportsIndex,
- dtype: _DTypeT | _SupportsDType[_DTypeT],
- order: _OrderCF = "C",
- *,
- device: Literal["cpu"] | None = None,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> MaskedArray[tuple[int], _DTypeT]: ...
- @overload
- def empty(
- shape: SupportsIndex,
- dtype: type[_ScalarT],
- order: _OrderCF = "C",
- *,
- device: Literal["cpu"] | None = None,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> MaskedArray[tuple[int], np.dtype[_ScalarT]]: ...
- @overload
- def empty(
- shape: SupportsIndex,
- dtype: DTypeLike | None = None,
- order: _OrderCF = "C",
- *,
- device: Literal["cpu"] | None = None,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> MaskedArray[tuple[int]]: ...
- @overload # known shape
- def empty(
- shape: _AnyShapeT,
- dtype: None = None,
- order: _OrderCF = "C",
- *,
- device: Literal["cpu"] | None = None,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> MaskedArray[_AnyShapeT, np.dtype[np.float64]]: ...
- @overload
- def empty(
- shape: _AnyShapeT,
- dtype: _DTypeT | _SupportsDType[_DTypeT],
- order: _OrderCF = "C",
- *,
- device: Literal["cpu"] | None = None,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> MaskedArray[_AnyShapeT, _DTypeT]: ...
- @overload
- def empty(
- shape: _AnyShapeT,
- dtype: type[_ScalarT],
- order: _OrderCF = "C",
- *,
- device: Literal["cpu"] | None = None,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> MaskedArray[_AnyShapeT, np.dtype[_ScalarT]]: ...
- @overload
- def empty(
- shape: _AnyShapeT,
- dtype: DTypeLike | None = None,
- order: _OrderCF = "C",
- *,
- device: Literal["cpu"] | None = None,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> MaskedArray[_AnyShapeT]: ...
- @overload # unknown shape
- def empty(
- shape: _ShapeLike,
- dtype: None = None,
- order: _OrderCF = "C",
- *,
- device: Literal["cpu"] | None = None,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> _MaskedArray[np.float64]: ...
- @overload
- def empty(
- shape: _ShapeLike,
- dtype: _DTypeT | _SupportsDType[_DTypeT],
- order: _OrderCF = "C",
- *,
- device: Literal["cpu"] | None = None,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> MaskedArray[_AnyShape, _DTypeT]: ...
- @overload
- def empty(
- shape: _ShapeLike,
- dtype: type[_ScalarT],
- order: _OrderCF = "C",
- *,
- device: Literal["cpu"] | None = None,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> _MaskedArray[_ScalarT]: ...
- @overload
- def empty(
- shape: _ShapeLike,
- dtype: DTypeLike | None = None,
- *,
- device: Literal["cpu"] | None = None,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> MaskedArray: ...
- # keep in sync with `_core.multiarray.empty_like`
- @overload
- def empty_like(
- a: _MArrayT,
- /,
- dtype: None = None,
- order: _OrderKACF = "K",
- subok: bool = True,
- shape: _ShapeLike | None = None,
- *,
- device: Literal["cpu"] | None = None,
- ) -> _MArrayT: ...
- @overload
- def empty_like(
- a: _ArrayLike[_ScalarT],
- /,
- dtype: None = None,
- order: _OrderKACF = "K",
- subok: bool = True,
- shape: _ShapeLike | None = None,
- *,
- device: Literal["cpu"] | None = None,
- ) -> _MaskedArray[_ScalarT]: ...
- @overload
- def empty_like(
- a: Incomplete,
- /,
- dtype: _DTypeLike[_ScalarT],
- order: _OrderKACF = "K",
- subok: bool = True,
- shape: _ShapeLike | None = None,
- *,
- device: Literal["cpu"] | None = None,
- ) -> _MaskedArray[_ScalarT]: ...
- @overload
- def empty_like(
- a: Incomplete,
- /,
- dtype: DTypeLike | None = None,
- order: _OrderKACF = "K",
- subok: bool = True,
- shape: _ShapeLike | None = None,
- *,
- device: Literal["cpu"] | None = None,
- ) -> _MaskedArray[Incomplete]: ...
- # This is a bit of a hack to avoid having to duplicate all those `empty` overloads for
- # `ones` and `zeros`, that relies on the fact that empty/zeros/ones have identical
- # type signatures, but may cause some type-checkers to report incorrect names in case
- # of user errors. Mypy and Pyright seem to handle this just fine.
- ones = empty
- ones_like = empty_like
- zeros = empty
- zeros_like = empty_like
- # keep in sync with `_core.multiarray.frombuffer`
- @overload
- def frombuffer(
- buffer: Buffer,
- *,
- count: SupportsIndex = -1,
- offset: SupportsIndex = 0,
- like: _SupportsArrayFunc | None = None,
- ) -> _MaskedArray[np.float64]: ...
- @overload
- def frombuffer(
- buffer: Buffer,
- dtype: _DTypeLike[_ScalarT],
- count: SupportsIndex = -1,
- offset: SupportsIndex = 0,
- *,
- like: _SupportsArrayFunc | None = None,
- ) -> _MaskedArray[_ScalarT]: ...
- @overload
- def frombuffer(
- buffer: Buffer,
- dtype: DTypeLike | None = float,
- count: SupportsIndex = -1,
- offset: SupportsIndex = 0,
- *,
- like: _SupportsArrayFunc | None = None,
- ) -> _MaskedArray[Incomplete]: ...
- # keep roughly in sync with `_core.numeric.fromfunction`
- def fromfunction(
- function: Callable[..., np.ndarray[_ShapeT, _DTypeT]],
- shape: Sequence[int],
- *,
- dtype: DTypeLike | None = float,
- like: _SupportsArrayFunc | None = None,
- **kwargs: object,
- ) -> MaskedArray[_ShapeT, _DTypeT]: ...
- # keep roughly in sync with `_core.numeric.identity`
- @overload
- def identity(
- n: int,
- dtype: None = None,
- *,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> MaskedArray[tuple[int, int], np.dtype[np.float64]]: ...
- @overload
- def identity(
- n: int,
- dtype: _DTypeLike[_ScalarT],
- *,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> MaskedArray[tuple[int, int], np.dtype[_ScalarT]]: ...
- @overload
- def identity(
- n: int,
- dtype: DTypeLike | None = None,
- *,
- like: _SupportsArrayFunc | None = None,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> MaskedArray[tuple[int, int], np.dtype[Incomplete]]: ...
- # keep roughly in sync with `_core.numeric.indices`
- @overload
- def indices(
- dimensions: Sequence[int],
- dtype: type[int] = int,
- sparse: Literal[False] = False,
- *,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> _MaskedArray[np.intp]: ...
- @overload
- def indices(
- dimensions: Sequence[int],
- dtype: type[int],
- sparse: Literal[True],
- *,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> tuple[_MaskedArray[np.intp], ...]: ...
- @overload
- def indices(
- dimensions: Sequence[int],
- dtype: type[int] = int,
- *,
- sparse: Literal[True],
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> tuple[_MaskedArray[np.intp], ...]: ...
- @overload
- def indices(
- dimensions: Sequence[int],
- dtype: _DTypeLike[_ScalarT],
- sparse: Literal[False] = False,
- *,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> _MaskedArray[_ScalarT]: ...
- @overload
- def indices(
- dimensions: Sequence[int],
- dtype: _DTypeLike[_ScalarT],
- sparse: Literal[True],
- *,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> tuple[_MaskedArray[_ScalarT], ...]: ...
- @overload
- def indices(
- dimensions: Sequence[int],
- dtype: DTypeLike | None = int,
- sparse: Literal[False] = False,
- *,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> _MaskedArray[Incomplete]: ...
- @overload
- def indices(
- dimensions: Sequence[int],
- dtype: DTypeLike | None,
- sparse: Literal[True],
- *,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> tuple[_MaskedArray[Incomplete], ...]: ...
- @overload
- def indices(
- dimensions: Sequence[int],
- dtype: DTypeLike | None = int,
- *,
- sparse: Literal[True],
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> tuple[_MaskedArray[Incomplete], ...]: ...
- # keep roughly in sync with `_core.fromnumeric.squeeze`
- @overload
- def squeeze(
- a: _ArrayLike[_ScalarT],
- axis: _ShapeLike | None = None,
- *,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> _MaskedArray[_ScalarT]: ...
- @overload
- def squeeze(
- a: ArrayLike,
- axis: _ShapeLike | None = None,
- *,
- fill_value: _FillValue | None = None,
- hardmask: bool = False,
- ) -> _MaskedArray[Incomplete]: ...
|