@@ -77,8 +77,10 @@ def _isfinite(values):
77
77
def _na_ok_dtype (dtype ):
78
78
return not issubclass (dtype .type , (np .integer , np .datetime64 , np .timedelta64 ))
79
79
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
82
84
83
85
def _wrap_results (result ,dtype ):
84
86
""" wrap our results if needed """
@@ -192,8 +194,7 @@ def _nanmin(values, axis=None, skipna=True):
192
194
values = values .copy ()
193
195
np .putmask (values , mask , np .inf )
194
196
195
- if _needs_view_dtype (dtype ):
196
- values = values .view (np .int64 )
197
+ values = _view_if_needed (values )
197
198
198
199
# numpy 1.6.1 workaround in Python 3.x
199
200
if (values .dtype == np .object_
@@ -225,8 +226,7 @@ def _nanmax(values, axis=None, skipna=True):
225
226
values = values .copy ()
226
227
np .putmask (values , mask , - np .inf )
227
228
228
- if _needs_view_dtype (dtype ):
229
- values = values .view (np .int64 )
229
+ values = _view_if_needed (values )
230
230
231
231
# numpy 1.6.1 workaround in Python 3.x
232
232
if (values .dtype == np .object_
@@ -255,6 +255,7 @@ def nanargmax(values, axis=None, skipna=True):
255
255
Returns -1 in the NA case
256
256
"""
257
257
mask = _isfinite (values )
258
+ values = _view_if_needed (values )
258
259
if not issubclass (values .dtype .type , np .integer ):
259
260
values = values .copy ()
260
261
np .putmask (values , mask , - np .inf )
@@ -268,6 +269,7 @@ def nanargmin(values, axis=None, skipna=True):
268
269
Returns -1 in the NA case
269
270
"""
270
271
mask = _isfinite (values )
272
+ values = _view_if_needed (values )
271
273
if not issubclass (values .dtype .type , np .integer ):
272
274
values = values .copy ()
273
275
np .putmask (values , mask , np .inf )
0 commit comments