Skip to content

Commit 0fbd49a

Browse files
authored
TYP: Type MaskedArray.__setitem__ (numpy#29478)
1 parent 3231ee8 commit 0fbd49a

File tree

2 files changed

+23
-10
lines changed

2 files changed

+23
-10
lines changed

numpy/ma/core.pyi

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -577,7 +577,6 @@ class MaskedArray(ndarray[_ShapeT_co, _DTypeT_co]):
577577
@overload
578578
def __getitem__(self: _MaskedArray[void], indx: list[str], /) -> MaskedArray[_ShapeT_co, dtype[void]]: ...
579579

580-
def __setitem__(self, indx, value): ...
581580
@property
582581
def shape(self) -> _ShapeT_co: ...
583582
@shape.setter

numpy/typing/tests/data/pass/ma.py

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import datetime as dt
12
from typing import Any, TypeAlias, TypeVar, cast
23

34
import numpy as np
@@ -15,11 +16,16 @@
1516
MAR_f: MaskedArray[np.float64] = np.ma.MaskedArray([1.0])
1617
MAR_c: MaskedArray[np.complex128] = np.ma.MaskedArray([1j])
1718
MAR_td64: MaskedArray[np.timedelta64] = np.ma.MaskedArray([np.timedelta64(1, "D")])
18-
MAR_M_dt64: MaskedArray[np.datetime64] = np.ma.MaskedArray([np.datetime64(1, "D")])
19+
MAR_dt64: MaskedArray[np.datetime64] = np.ma.MaskedArray([np.datetime64(1, "D")])
1920
MAR_S: MaskedArray[np.bytes_] = np.ma.MaskedArray([b'foo'], dtype=np.bytes_)
2021
MAR_U: MaskedArray[np.str_] = np.ma.MaskedArray(['foo'], dtype=np.str_)
2122
MAR_T = cast(np.ma.MaskedArray[Any, np.dtypes.StringDType],
2223
np.ma.MaskedArray(["a"], dtype="T"))
24+
MAR_V: MaskedArray[np.void] = np.ma.MaskedArray(
25+
[(1, 1)],
26+
mask=[(False, False)],
27+
dtype=[('a', int), ('b', int)]
28+
)
2329

2430
AR_b: npt.NDArray[np.bool] = np.array([True, False, True])
2531

@@ -38,6 +44,14 @@
3844

3945
MAR_f.flat = [9]
4046

47+
MAR_b[MAR_i > 0] = False
48+
MAR_i[:] = 1
49+
MAR_f[[0]] = AR_LIKE_f
50+
MAR_c[[0, 0]] = [3, 4 + 3j]
51+
MAR_td64[0] = dt.timedelta(1)
52+
MAR_dt64[0] = dt.datetime(2020, 1, 1)
53+
MAR_V['a'] = [2]
54+
4155
# Inplace addition
4256

4357
MAR_b += AR_LIKE_b
@@ -65,10 +79,10 @@
6579
MAR_td64 += AR_LIKE_u
6680
MAR_td64 += AR_LIKE_i
6781
MAR_td64 += AR_LIKE_m
68-
MAR_M_dt64 += AR_LIKE_b
69-
MAR_M_dt64 += AR_LIKE_u
70-
MAR_M_dt64 += AR_LIKE_i
71-
MAR_M_dt64 += AR_LIKE_m
82+
MAR_dt64 += AR_LIKE_b
83+
MAR_dt64 += AR_LIKE_u
84+
MAR_dt64 += AR_LIKE_i
85+
MAR_dt64 += AR_LIKE_m
7286

7387
MAR_S += b'snakes'
7488
MAR_U += 'snakes'
@@ -97,10 +111,10 @@
97111
MAR_td64 -= AR_LIKE_u
98112
MAR_td64 -= AR_LIKE_i
99113
MAR_td64 -= AR_LIKE_m
100-
MAR_M_dt64 -= AR_LIKE_b
101-
MAR_M_dt64 -= AR_LIKE_u
102-
MAR_M_dt64 -= AR_LIKE_i
103-
MAR_M_dt64 -= AR_LIKE_m
114+
MAR_dt64 -= AR_LIKE_b
115+
MAR_dt64 -= AR_LIKE_u
116+
MAR_dt64 -= AR_LIKE_i
117+
MAR_dt64 -= AR_LIKE_m
104118

105119
# Inplace floor division
106120

0 commit comments

Comments
 (0)