Skip to content

Commit 53b3236

Browse files
committed
BLD: 32-bit take failures
1 parent 863f1cf commit 53b3236

File tree

2 files changed

+14
-12
lines changed

2 files changed

+14
-12
lines changed

pandas/core/common.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ def take_1d(arr, indexer, out=None, fill_value=np.nan):
207207
if not out_passed:
208208
out = np.empty(n, dtype=arr.dtype)
209209
else:
210-
out = _ndtake(arr, indexer, out=out)
210+
out = ndtake(arr, indexer, out=out)
211211
if mask.any():
212212
if out_passed:
213213
raise Exception('out with dtype %s does not support NA' %
@@ -219,7 +219,7 @@ def take_1d(arr, indexer, out=None, fill_value=np.nan):
219219
out = np.empty(n, dtype=arr.dtype)
220220
take_f(arr, _ensure_int64(indexer), out=out, fill_value=fill_value)
221221
else:
222-
out = _ndtake(arr, indexer, out=out)
222+
out = ndtake(arr, indexer, out=out)
223223
mask = indexer == -1
224224
if mask.any():
225225
if out_passed:
@@ -283,7 +283,7 @@ def take_2d(arr, indexer, out=None, mask=None, needs_masking=None, axis=0,
283283

284284
if needs_masking:
285285
# upcasting may be required
286-
result = _ndtake(arr, indexer, axis=axis, out=out)
286+
result = ndtake(arr, indexer, axis=axis, out=out)
287287
result = _maybe_mask(result, mask, needs_masking, axis=axis,
288288
out_passed=out is not None,
289289
fill_value=fill_value)
@@ -309,13 +309,13 @@ def take_2d(arr, indexer, out=None, mask=None, needs_masking=None, axis=0,
309309
if out is not None and arr.dtype != out.dtype:
310310
arr = arr.astype(out.dtype)
311311

312-
result = _ndtake(arr, indexer, axis=axis, out=out)
312+
result = ndtake(arr, indexer, axis=axis, out=out)
313313
result = _maybe_mask(result, mask, needs_masking, axis=axis,
314314
out_passed=out is not None,
315315
fill_value=fill_value)
316316
return result
317317

318-
def _ndtake(arr, indexer, axis=0, out=None):
318+
def ndtake(arr, indexer, axis=0, out=None):
319319
return arr.take(_ensure_platform_int(indexer), axis=axis, out=out)
320320

321321
def mask_out_axis(arr, mask, axis, fill_value=np.nan):
@@ -331,7 +331,7 @@ def take_fast(arr, indexer, mask, needs_masking, axis=0, out=None,
331331
needs_masking=needs_masking,
332332
axis=axis, fill_value=fill_value)
333333
indexer = _ensure_platform_int(indexer)
334-
result = _ndtake(arr, indexer, axis=axis, out=out)
334+
result = ndtake(arr, indexer, axis=axis, out=out)
335335
result = _maybe_mask(result, mask, needs_masking, axis=axis,
336336
out_passed=out is not None, fill_value=fill_value)
337337
return result

pandas/core/index.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import numpy as np
99

10+
from pandas.core.common import ndtake
1011
from pandas.util.decorators import cache_readonly
1112
from pandas.util import py3compat
1213
import pandas.core.common as com
@@ -507,7 +508,7 @@ def union(self, other):
507508
indexer = (indexer == -1).nonzero()[0]
508509

509510
if len(indexer) > 0:
510-
other_diff = other.values.take(indexer)
511+
other_diff = ndtake(other.values, indexer)
511512
result = np.concatenate((self.values, other_diff))
512513
try:
513514
result.sort()
@@ -890,7 +891,7 @@ def _join_level(self, other, level, how='left', return_indexers=False):
890891
rev_indexer = lib.get_reverse_indexer(left_lev_indexer,
891892
len(old_level))
892893

893-
new_lev_labels = rev_indexer.take(left.labels[level])
894+
new_lev_labels = ndtake(rev_indexer, left.labels[level])
894895
omit_mask = new_lev_labels != -1
895896

896897
new_labels = list(left.labels)
@@ -910,7 +911,8 @@ def _join_level(self, other, level, how='left', return_indexers=False):
910911
left_indexer = None
911912

912913
if right_lev_indexer is not None:
913-
right_indexer = right_lev_indexer.take(join_index.labels[level])
914+
right_indexer = ndtake(right_lev_indexer,
915+
join_index.labels[level])
914916
else:
915917
right_indexer = join_index.labels[level]
916918

@@ -1168,7 +1170,7 @@ def __new__(cls, levels=None, labels=None, sortorder=None, names=None):
11681170
levels = [_ensure_index(lev) for lev in levels]
11691171
labels = [np.asarray(labs, dtype=np.int64) for labs in labels]
11701172

1171-
values = [np.asarray(lev).take(lab)
1173+
values = [ndtake(np.asarray(lev), lab)
11721174
for lev, lab in zip(levels, labels)]
11731175
subarr = lib.fast_zip(values).view(cls)
11741176

@@ -1247,7 +1249,7 @@ def _get_level_number(self, level):
12471249
def values(self):
12481250
if self._is_legacy_format:
12491251
# for legacy MultiIndex
1250-
values = [np.asarray(lev).take(lab)
1252+
values = [ndtake(np.asarray(lev), lab)
12511253
for lev, lab in zip(self.levels, self.labels)]
12521254
return lib.fast_zip(values)
12531255
else:
@@ -1345,7 +1347,7 @@ def format(self, space=2, sparsify=True, adjoin=True, names=False):
13451347
if names:
13461348
level.append(str(name) if name is not None else '')
13471349

1348-
level.extend(np.array(lev, dtype=object).take(lab))
1350+
level.extend(ndtake(np.array(lev, dtype=object), lab))
13491351
result_levels.append(level)
13501352

13511353
if sparsify:

0 commit comments

Comments
 (0)