Skip to content

Commit ca0f312

Browse files
authored
Merge pull request #18 from Dr-Irv/issue17
Index.difference() accept None
2 parents 3174ab6 + 4846353 commit ca0f312

File tree

2 files changed

+16
-11
lines changed

2 files changed

+16
-11
lines changed

tests/pandas/test_indexes.py

+11-6
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,19 @@ def test_column_getitem() -> None:
4848

4949
column = df.columns[0]
5050
a = df[column]
51-
51+
52+
5253
def test_column_contains() -> None:
5354
# https://github.com/microsoft/python-type-stubs/issues/199
54-
df = pd.DataFrame({'A': [1, 2], 'B': ['c', 'd'], 'E': [3, 4]})
55+
df = pd.DataFrame({"A": [1, 2], "B": ["c", "d"], "E": [3, 4]})
5556

5657
collist = [column for column in df.columns]
57-
58-
collist2 = [column for column in df.columns[df.columns.str.contains('A|B')]]
5958

60-
length = len(df.columns[df.columns.str.contains('A|B')])
61-
59+
collist2 = [column for column in df.columns[df.columns.str.contains("A|B")]]
60+
61+
length = len(df.columns[df.columns.str.contains("A|B")])
62+
63+
64+
def test_difference_none() -> None:
65+
ind = pd.Index([1, 2, 3])
66+
id = ind.difference([1, None])

typings/pandas/core/indexes/base.pyi

+5-5
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ class Index(IndexOpsMixin, PandasObject):
149149
def intersection(
150150
self, other: Union[List[T1], Index], sort: bool = ...
151151
) -> Index: ...
152-
def difference(self, other: Union[List[T1], Index]) -> Index: ...
152+
def difference(self, other: Union[List[Union[T1, None]], Index]) -> Index: ...
153153
def symmetric_difference(
154154
self, other: Union[List[T1], Index], result_name=..., sort=...
155155
) -> Index: ...
@@ -174,11 +174,11 @@ class Index(IndexOpsMixin, PandasObject):
174174
def __hash__(self) -> int: ...
175175
def __setitem__(self, key, value) -> None: ...
176176
@overload
177-
def __getitem__(self, idx: Union[slice, np_ndarray_int64, Index, Series[bool]]) -> Index: ...
178-
@overload
179177
def __getitem__(
180-
self, idx: Union[int, Tuple[np_ndarray_int64, ...]]
181-
) -> Scalar: ...
178+
self, idx: Union[slice, np_ndarray_int64, Index, Series[bool]]
179+
) -> Index: ...
180+
@overload
181+
def __getitem__(self, idx: Union[int, Tuple[np_ndarray_int64, ...]]) -> Scalar: ...
182182
def append(self, other): ...
183183
def putmask(self, mask, value): ...
184184
def equals(self, other) -> bool: ...

0 commit comments

Comments
 (0)