From 39a6b8f20fe95f5b6bb91c577cf5dea81214932c Mon Sep 17 00:00:00 2001 From: Jeff Reback Date: Sat, 28 Oct 2017 13:37:58 -0400 Subject: [PATCH] TST: clean warnings (#18012) --- Makefile | 3 ++ pandas/core/categorical.py | 2 +- pandas/tests/indexing/common.py | 8 +++--- pandas/tests/indexing/test_floats.py | 38 +++++++++++++++++--------- pandas/tests/indexing/test_indexing.py | 4 ++- 5 files changed, 36 insertions(+), 19 deletions(-) diff --git a/Makefile b/Makefile index 194a8861715b7..c79175cd3c401 100644 --- a/Makefile +++ b/Makefile @@ -12,6 +12,9 @@ clean_pyc: build: clean_pyc python setup.py build_ext --inplace +lint-diff: + git diff master --name-only -- "*.py" | grep "pandas" | xargs flake8 + develop: build -python setup.py develop diff --git a/pandas/core/categorical.py b/pandas/core/categorical.py index e709c771b7d18..64d7a04d5c3ce 100644 --- a/pandas/core/categorical.py +++ b/pandas/core/categorical.py @@ -1588,7 +1588,7 @@ def _values_for_rank(self): # reorder the categories (so rank can use the float codes) # instead of passing an object array to rank values = np.array( - self.rename_categories(Series(self.categories).rank()) + self.rename_categories(Series(self.categories).rank().values) ) return values diff --git a/pandas/tests/indexing/common.py b/pandas/tests/indexing/common.py index 259a8aea94df0..c5fb2580f0a15 100644 --- a/pandas/tests/indexing/common.py +++ b/pandas/tests/indexing/common.py @@ -127,11 +127,11 @@ def get_result(self, obj, method, key, axis): key = obj._get_axis(axis)[key] # in case we actually want 0 index slicing - try: - with catch_warnings(record=True): + with catch_warnings(record=True): + try: xp = getattr(obj, method).__getitem__(_axify(obj, key, axis)) - except: - xp = getattr(obj, method).__getitem__(key) + except: + xp = getattr(obj, method).__getitem__(key) return xp diff --git a/pandas/tests/indexing/test_floats.py b/pandas/tests/indexing/test_floats.py index 00a2b8166ceed..6c5af84f0ce02 100644 --- a/pandas/tests/indexing/test_floats.py +++ b/pandas/tests/indexing/test_floats.py @@ -169,12 +169,10 @@ def f(): # mixed index so we have label # indexing - for idxr in [lambda x: x.ix, - lambda x: x]: + for idxr in [lambda x: x]: def f(): - with catch_warnings(record=True): - idxr(s3)[1.0] + idxr(s3)[1.0] pytest.raises(TypeError, f) @@ -182,6 +180,20 @@ def f(): expected = 2 assert result == expected + # mixed index so we have label + # indexing + for idxr in [lambda x: x.ix]: + with catch_warnings(record=True): + + def f(): + idxr(s3)[1.0] + + pytest.raises(TypeError, f) + + result = idxr(s3)[1] + expected = 2 + assert result == expected + pytest.raises(TypeError, lambda: s3.iloc[1.0]) pytest.raises(KeyError, lambda: s3.loc[1.0]) @@ -479,16 +491,14 @@ def test_slice_integer_frame_getitem(self): index = index(5) s = DataFrame(np.random.randn(5, 2), index=index) - for idxr in [lambda x: x.loc, - lambda x: x.ix]: + def f(idxr): # getitem for l in [slice(0.0, 1), slice(0, 1.0), slice(0.0, 1.0)]: - with catch_warnings(record=True): - result = idxr(s)[l] + result = idxr(s)[l] indexer = slice(0, 2) self.check(result, s, indexer, False) @@ -516,8 +526,7 @@ def f(): (slice(0, 0.5), slice(0, 1)), (slice(0.5, 1.5), slice(1, 2))]: - with catch_warnings(record=True): - result = idxr(s)[l] + result = idxr(s)[l] self.check(result, s, res, False) # positional indexing @@ -532,9 +541,8 @@ def f(): slice(3.0, 4.0)]: sc = s.copy() - with catch_warnings(record=True): - idxr(sc)[l] = 0 - result = idxr(sc)[l].values.ravel() + idxr(sc)[l] = 0 + result = idxr(sc)[l].values.ravel() assert (result == 0).all() # positional indexing @@ -543,6 +551,10 @@ def f(): pytest.raises(TypeError, f) + f(lambda x: x.loc) + with catch_warnings(record=True): + f(lambda x: x.ix) + def test_slice_float(self): # same as above, but for floats diff --git a/pandas/tests/indexing/test_indexing.py b/pandas/tests/indexing/test_indexing.py index ec62023e75db4..43c1b8e97fde6 100644 --- a/pandas/tests/indexing/test_indexing.py +++ b/pandas/tests/indexing/test_indexing.py @@ -884,8 +884,10 @@ def test_partial_boolean_frame_indexing(self): def test_no_reference_cycle(self): df = pd.DataFrame({'a': [0, 1], 'b': [2, 3]}) - for name in ('loc', 'iloc', 'ix', 'at', 'iat'): + for name in ('loc', 'iloc', 'at', 'iat'): getattr(df, name) + with catch_warnings(record=True): + getattr(df, 'ix') wr = weakref.ref(df) del df assert wr() is None