|
14 | 14 |
|
15 | 15 | from pandas import (CategoricalIndex, DataFrame, Index, MultiIndex,
|
16 | 16 | compat, date_range, period_range)
|
17 |
| -from pandas.compat import PY3, long, lrange, lzip, range, u |
| 17 | +from pandas.compat import PY3, long, lrange, lzip, range, u, PYPY |
18 | 18 | from pandas.errors import PerformanceWarning, UnsortedIndexError
|
19 | 19 | from pandas.core.indexes.base import InvalidIndexError
|
20 | 20 | from pandas._libs import lib
|
@@ -2573,13 +2573,22 @@ def test_isin(self):
|
2573 | 2573 | assert len(result) == 0
|
2574 | 2574 | assert result.dtype == np.bool_
|
2575 | 2575 |
|
2576 |
| - def test_isin_nan(self): |
| 2576 | + @pytest.mark.skipif(PYPY, reason="tuples cmp recursively on PyPy") |
| 2577 | + def test_isin_nan_not_pypy(self): |
2577 | 2578 | idx = MultiIndex.from_arrays([['foo', 'bar'], [1.0, np.nan]])
|
2578 | 2579 | tm.assert_numpy_array_equal(idx.isin([('bar', np.nan)]),
|
2579 | 2580 | np.array([False, False]))
|
2580 | 2581 | tm.assert_numpy_array_equal(idx.isin([('bar', float('nan'))]),
|
2581 | 2582 | np.array([False, False]))
|
2582 | 2583 |
|
| 2584 | + @pytest.mark.skipif(not PYPY, reason="tuples cmp recursively on PyPy") |
| 2585 | + def test_isin_nan_pypy(self): |
| 2586 | + idx = MultiIndex.from_arrays([['foo', 'bar'], [1.0, np.nan]]) |
| 2587 | + tm.assert_numpy_array_equal(idx.isin([('bar', np.nan)]), |
| 2588 | + np.array([False, True])) |
| 2589 | + tm.assert_numpy_array_equal(idx.isin([('bar', float('nan'))]), |
| 2590 | + np.array([False, True])) |
| 2591 | + |
2583 | 2592 | def test_isin_level_kwarg(self):
|
2584 | 2593 | idx = MultiIndex.from_arrays([['qux', 'baz', 'foo', 'bar'], np.arange(
|
2585 | 2594 | 4)])
|
|
0 commit comments