Skip to content

Commit fded942

Browse files
committed
COMPAT: compat with released numpy 1.11 for IndexError -> TypeError
was a revert of # numpy/numpy#6271 closes pandas-dev#12729 closes pandas-dev#12792 Author: Jeff Reback <[email protected]> Closes pandas-dev#12736 from jreback/numpy_compat_111 and squashes the following commits: 9a97896 [Jeff Reback] BLD: fix 3.5_OSX to numpy 1.10.4 57c5e64 [Jeff Reback] COMPAT: fix some warnings with numpy 1.11 with pytables be5ccea [Jeff Reback] COMPAT: compat with released numpy 1.11 for IndexError -> TypeError
1 parent 75a9fb9 commit fded942

File tree

6 files changed

+28
-28
lines changed

6 files changed

+28
-28
lines changed

ci/requirements-3.5_OSX.build

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
numpy
1+
numpy=1.10.4
22
cython

ci/requirements-3.5_OSX.run

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
pytz
2-
numpy
2+
numpy=1.10.4
33
openpyxl
44
xlsxwriter
55
xlrd

pandas/compat/numpy_compat.py

+9-11
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,17 @@
44
from distutils.version import LooseVersion
55
from pandas.compat import string_types, string_and_binary_types
66

7-
# TODO: HACK for NumPy 1.5.1 to suppress warnings
8-
# is this necessary?
9-
try:
10-
np.seterr(all='ignore')
11-
except Exception: # pragma: no cover
12-
pass
7+
# turn off all numpy warnings
8+
np.seterr(all='ignore')
139

1410
# numpy versioning
1511
_np_version = np.version.short_version
16-
_np_version_under1p8 = LooseVersion(_np_version) < '1.8'
17-
_np_version_under1p9 = LooseVersion(_np_version) < '1.9'
18-
_np_version_under1p10 = LooseVersion(_np_version) < '1.10'
19-
_np_version_under1p11 = LooseVersion(_np_version) < '1.11'
12+
_nlv = LooseVersion(_np_version)
13+
_np_version_under1p8 = _nlv < '1.8'
14+
_np_version_under1p9 = _nlv < '1.9'
15+
_np_version_under1p10 = _nlv < '1.10'
16+
_np_version_under1p11 = _nlv < '1.11'
17+
_np_version_under1p12 = _nlv < '1.12'
2018

2119
if LooseVersion(_np_version) < '1.7.0':
2220
raise ImportError('this version of pandas is incompatible with '
@@ -67,9 +65,9 @@ def np_array_datetime64_compat(arr, *args, **kwargs):
6765
return np.array(arr, *args, **kwargs)
6866

6967
__all__ = ['np',
70-
'_np_version',
7168
'_np_version_under1p8',
7269
'_np_version_under1p9',
7370
'_np_version_under1p10',
7471
'_np_version_under1p11',
72+
'_np_version_under1p12',
7573
]

pandas/io/pytables.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -1475,10 +1475,10 @@ def infer(self, handler):
14751475

14761476
def convert(self, values, nan_rep, encoding):
14771477
""" set the values from this selection: take = take ownership """
1478-
try:
1478+
1479+
# values is a recarray
1480+
if values.dtype.fields is not None:
14791481
values = values[self.cname]
1480-
except:
1481-
pass
14821482

14831483
values = _maybe_convert(values, self.kind, encoding)
14841484

@@ -2001,10 +2001,10 @@ def convert(self, values, nan_rep, encoding):
20012001
if we can)
20022002
"""
20032003

2004-
try:
2004+
# values is a recarray
2005+
if values.dtype.fields is not None:
20052006
values = values[self.cname]
2006-
except:
2007-
pass
2007+
20082008
self.set_data(values)
20092009

20102010
# use the meta if needed
@@ -4057,7 +4057,7 @@ def read(self, where=None, columns=None, **kwargs):
40574057
if len(frames) == 1:
40584058
df = frames[0]
40594059
else:
4060-
df = concat(frames, axis=1, verify_integrity=False).consolidate()
4060+
df = concat(frames, axis=1)
40614061

40624062
# apply the selection filters & axis orderings
40634063
df = self.process_axes(df, columns=columns)

pandas/io/tests/test_pytables.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -3001,8 +3001,8 @@ def test_sparse_with_compression(self):
30013001
# GH 2931
30023002

30033003
# make sparse dataframe
3004-
df = DataFrame(np.random.binomial(
3005-
n=1, p=.01, size=(1e3, 10))).to_sparse(fill_value=0)
3004+
arr = np.random.binomial(n=1, p=.01, size=(1000, 10))
3005+
df = DataFrame(arr).to_sparse(fill_value=0)
30063006

30073007
# case 1: store uncompressed
30083008
self._check_double_roundtrip(df, tm.assert_frame_equal,
@@ -3015,7 +3015,7 @@ def test_sparse_with_compression(self):
30153015
check_frame_type=True)
30163016

30173017
# set one series to be completely sparse
3018-
df[0] = np.zeros(1e3)
3018+
df[0] = np.zeros(1000)
30193019

30203020
# case 3: store df with completely sparse series uncompressed
30213021
self._check_double_roundtrip(df, tm.assert_frame_equal,

pandas/tseries/tests/test_period.py

+7-5
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
from pandas.compat.numpy_compat import np_datetime64_compat
2727

2828
from pandas import (Series, DataFrame,
29-
_np_version_under1p9, _np_version_under1p11)
29+
_np_version_under1p9, _np_version_under1p12)
3030
from pandas import tslib
3131
from pandas.util.testing import (assert_series_equal, assert_almost_equal,
3232
assertRaisesRegexp)
@@ -2607,8 +2607,9 @@ def test_range_slice_day(self):
26072607
didx = DatetimeIndex(start='2013/01/01', freq='D', periods=400)
26082608
pidx = PeriodIndex(start='2013/01/01', freq='D', periods=400)
26092609

2610-
# changed to TypeError in 1.11
2611-
exc = IndexError if _np_version_under1p11 else TypeError
2610+
# changed to TypeError in 1.12
2611+
# https://github.com/numpy/numpy/pull/6271
2612+
exc = IndexError if _np_version_under1p12 else TypeError
26122613

26132614
for idx in [didx, pidx]:
26142615
# slices against index should raise IndexError
@@ -2664,8 +2665,9 @@ def test_range_slice_seconds(self):
26642665
periods=4000)
26652666
pidx = PeriodIndex(start='2013/01/01 09:00:00', freq='S', periods=4000)
26662667

2667-
# changed to TypeError in 1.11
2668-
exc = IndexError if _np_version_under1p11 else TypeError
2668+
# changed to TypeError in 1.12
2669+
# https://github.com/numpy/numpy/pull/6271
2670+
exc = IndexError if _np_version_under1p12 else TypeError
26692671

26702672
for idx in [didx, pidx]:
26712673
# slices against index should raise IndexError

0 commit comments

Comments
 (0)