Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit ad7a399

Browse files
committedMar 1, 2013
BUG: issue with timedelta64 and numpy 1.6.1 (used on travis), fixed by using views
1 parent 274ceea commit ad7a399

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed
 

‎pandas/core/nanops.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,10 @@ def _isfinite(values):
7777
def _na_ok_dtype(dtype):
7878
return not issubclass(dtype.type, (np.integer, np.datetime64, np.timedelta64))
7979

80-
def _needs_view_dtype(dtype):
81-
return issubclass(dtype.type, (np.datetime64,np.timedelta64))
80+
def _view_if_needed(values):
81+
if issubclass(values.dtype.type, (np.datetime64,np.timedelta64)):
82+
return values.view(np.int64)
83+
return values
8284

8385
def _wrap_results(result,dtype):
8486
""" wrap our results if needed """
@@ -192,8 +194,7 @@ def _nanmin(values, axis=None, skipna=True):
192194
values = values.copy()
193195
np.putmask(values, mask, np.inf)
194196

195-
if _needs_view_dtype(dtype):
196-
values = values.view(np.int64)
197+
values = _view_if_needed(values)
197198

198199
# numpy 1.6.1 workaround in Python 3.x
199200
if (values.dtype == np.object_
@@ -225,8 +226,7 @@ def _nanmax(values, axis=None, skipna=True):
225226
values = values.copy()
226227
np.putmask(values, mask, -np.inf)
227228

228-
if _needs_view_dtype(dtype):
229-
values = values.view(np.int64)
229+
values = _view_if_needed(values)
230230

231231
# numpy 1.6.1 workaround in Python 3.x
232232
if (values.dtype == np.object_
@@ -255,6 +255,7 @@ def nanargmax(values, axis=None, skipna=True):
255255
Returns -1 in the NA case
256256
"""
257257
mask = _isfinite(values)
258+
values = _view_if_needed(values)
258259
if not issubclass(values.dtype.type, np.integer):
259260
values = values.copy()
260261
np.putmask(values, mask, -np.inf)
@@ -268,6 +269,7 @@ def nanargmin(values, axis=None, skipna=True):
268269
Returns -1 in the NA case
269270
"""
270271
mask = _isfinite(values)
272+
values = _view_if_needed(values)
271273
if not issubclass(values.dtype.type, np.integer):
272274
values = values.copy()
273275
np.putmask(values, mask, np.inf)

0 commit comments

Comments
 (0)
Please sign in to comment.