Skip to content

Commit ccd75c7

Browse files
committed
Changed __sub__ to difference
1 parent cd7de26 commit ccd75c7

File tree

3 files changed

+15
-24
lines changed

3 files changed

+15
-24
lines changed

doc/source/groupby.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ but the specified columns
134134
.. ipython:: python
135135
136136
df.set_index(['A', 'B'])
137-
grouped = df.groupby(level=df.index.names - ['B'])
137+
grouped = df.groupby(level=df.index.names.difference(['B'])
138138
139139
These will split the DataFrame on its index (rows). We could also split by the
140140
columns:

pandas/indexes/frozen.py

+5-7
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,6 @@ def __add__(self, other):
3131

3232
__iadd__ = __add__
3333

34-
def __sub__(self, other):
35-
other = set(other)
36-
temp = [x for x in self if x not in other]
37-
return self.__class__(temp)
38-
39-
__isub__ = __sub__
40-
4134
# Python 2 compat
4235
def __getslice__(self, i, j):
4336
return self.__class__(super(FrozenList, self).__getslice__(i, j))
@@ -87,6 +80,11 @@ def __repr__(self):
8780
__setitem__ = __setslice__ = __delitem__ = __delslice__ = _disabled
8881
pop = append = extend = remove = sort = insert = _disabled
8982

83+
def difference(self, other):
84+
other = set(other)
85+
temp = [x for x in self if x not in other]
86+
return self.__class__(temp)
87+
9088

9189
class FrozenNDArray(PandasObject, np.ndarray):
9290

pandas/tests/indexes/test_frozen.py

+9-16
Original file line numberDiff line numberDiff line change
@@ -23,29 +23,22 @@ def test_add(self):
2323
expected = FrozenList([1, 2, 3] + self.lst)
2424
self.check_result(result, expected)
2525

26-
def test_sub(self):
27-
result = self.container - [2]
28-
expected = FrozenList([1, 3, 4, 5])
29-
self.check_result(result, expected)
30-
31-
def test_sub_dupe(self):
32-
result = FrozenList([1, 2, 3, 2]) - [2]
33-
expected = FrozenList([1, 3])
34-
self.check_result(result, expected)
35-
3626
def test_inplace_add(self):
3727
q = r = self.container
3828
q += [5]
3929
self.check_result(q, self.lst + [5])
4030
# other shouldn't be mutated
4131
self.check_result(r, self.lst)
4232

43-
def test_inplace_sub(self):
44-
q = r = self.container
45-
q -= [5]
46-
self.check_result(q, self.container - [5])
47-
# other shouldn't be mutated
48-
self.check_result(r, self.lst)
33+
def test_difference(self):
34+
result = self.container.difference([2])
35+
expected = FrozenList([1, 3, 4, 5])
36+
self.check_result(result, expected)
37+
38+
def test_difference_dupe(self):
39+
result = FrozenList([1, 2, 3, 2]).difference([2])
40+
expected = FrozenList([1, 3])
41+
self.check_result(result, expected)
4942

5043

5144
class TestFrozenNDArray(CheckImmutable, CheckStringMixin, tm.TestCase):

0 commit comments

Comments
 (0)