Skip to content

Commit 00dbf3d

Browse files
committed
clean up indexing/index method names to make all module public (rather than _ leading)
1 parent 379e145 commit 00dbf3d

File tree

10 files changed

+118
-125
lines changed

10 files changed

+118
-125
lines changed

pandas/core/categorical.py

+4-5
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,14 @@
1010
from pandas.core.algorithms import factorize
1111
from pandas.core.base import PandasObject, PandasDelegate
1212
from pandas.core.index import Index, _ensure_index
13-
from pandas.core.indexing import _is_null_slice
1413
from pandas.tseries.period import PeriodIndex
1514
import pandas.core.common as com
1615
from pandas.util.decorators import cache_readonly
1716

1817
from pandas.core.common import (CategoricalDtype, ABCSeries, isnull, notnull,
1918
is_categorical_dtype, is_integer_dtype, is_object_dtype,
2019
_possibly_infer_to_datetimelike, get_dtype_kinds,
21-
is_list_like, is_sequence,
20+
is_list_like, is_sequence, is_null_slice,
2221
_ensure_platform_int, _ensure_object, _ensure_int64,
2322
_coerce_indexer_dtype, _values_from_object, take_1d)
2423
from pandas.util.terminal import get_terminal_size
@@ -78,7 +77,7 @@ def f(self, other):
7877

7978
return f
8079

81-
def _maybe_to_categorical(array):
80+
def maybe_to_categorical(array):
8281
""" coerce to a categorical if a series is given """
8382
if isinstance(array, ABCSeries):
8483
return array.values
@@ -1116,7 +1115,7 @@ def _slice(self, slicer):
11161115
# only allow 1 dimensional slicing, but can
11171116
# in a 2-d case be passd (slice(None),....)
11181117
if isinstance(slicer, tuple) and len(slicer) == 2:
1119-
if not _is_null_slice(slicer[0]):
1118+
if not is_null_slice(slicer[0]):
11201119
raise AssertionError("invalid slicing for a 1-ndim categorical")
11211120
slicer = slicer[1]
11221121

@@ -1263,7 +1262,7 @@ def __setitem__(self, key, value):
12631262
# only allow 1 dimensional slicing, but can
12641263
# in a 2-d case be passd (slice(None),....)
12651264
if len(key) == 2:
1266-
if not _is_null_slice(key[0]):
1265+
if not is_null_slice(key[0]):
12671266
raise AssertionError("invalid slicing for a 1-ndim categorical")
12681267
key = key[1]
12691268
elif len(key) == 1:

pandas/core/common.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -2544,9 +2544,13 @@ def is_re_compilable(obj):
25442544

25452545

25462546
def is_list_like(arg):
2547-
return (hasattr(arg, '__iter__') and
2547+
return (hasattr(arg, '__iter__') and
25482548
not isinstance(arg, compat.string_and_binary_types))
25492549

2550+
def is_null_slice(obj):
2551+
return (isinstance(obj, slice) and obj.start is None and
2552+
obj.stop is None and obj.step is None)
2553+
25502554

25512555
def is_hashable(arg):
25522556
"""Return True if hash(arg) will succeed, False otherwise.

pandas/core/frame.py

+10-10
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@
3030
is_categorical_dtype)
3131
from pandas.core.generic import NDFrame, _shared_docs
3232
from pandas.core.index import Index, MultiIndex, _ensure_index
33-
from pandas.core.indexing import (_maybe_droplevels,
34-
_convert_to_index_sliceable,
35-
_check_bool_indexer)
33+
from pandas.core.indexing import (maybe_droplevels,
34+
convert_to_index_sliceable,
35+
check_bool_indexer)
3636
from pandas.core.internals import (BlockManager,
3737
create_block_manager_from_arrays,
3838
create_block_manager_from_blocks)
@@ -1765,7 +1765,7 @@ def __getitem__(self, key):
17651765
pass
17661766

17671767
# see if we can slice the rows
1768-
indexer = _convert_to_index_sliceable(self, key)
1768+
indexer = convert_to_index_sliceable(self, key)
17691769
if indexer is not None:
17701770
return self._getitem_slice(indexer)
17711771

@@ -1809,9 +1809,9 @@ def _getitem_array(self, key):
18091809
elif len(key) != len(self.index):
18101810
raise ValueError('Item wrong length %d instead of %d.' %
18111811
(len(key), len(self.index)))
1812-
# _check_bool_indexer will throw exception if Series key cannot
1812+
# check_bool_indexer will throw exception if Series key cannot
18131813
# be reindexed to match DataFrame rows
1814-
key = _check_bool_indexer(self.index, key)
1814+
key = check_bool_indexer(self.index, key)
18151815
indexer = key.nonzero()[0]
18161816
return self.take(indexer, axis=0, convert=False)
18171817
else:
@@ -1822,7 +1822,7 @@ def _getitem_multilevel(self, key):
18221822
loc = self.columns.get_loc(key)
18231823
if isinstance(loc, (slice, Series, np.ndarray, Index)):
18241824
new_columns = self.columns[loc]
1825-
result_columns = _maybe_droplevels(new_columns, key)
1825+
result_columns = maybe_droplevels(new_columns, key)
18261826
if self._is_mixed_type:
18271827
result = self.reindex(columns=new_columns)
18281828
result.columns = result_columns
@@ -2097,7 +2097,7 @@ def _box_col_values(self, values, items):
20972097
def __setitem__(self, key, value):
20982098

20992099
# see if we can slice the rows
2100-
indexer = _convert_to_index_sliceable(self, key)
2100+
indexer = convert_to_index_sliceable(self, key)
21012101
if indexer is not None:
21022102
return self._setitem_slice(indexer, value)
21032103

@@ -2119,7 +2119,7 @@ def _setitem_array(self, key, value):
21192119
if len(key) != len(self.index):
21202120
raise ValueError('Item wrong length %d instead of %d!' %
21212121
(len(key), len(self.index)))
2122-
key = _check_bool_indexer(self.index, key)
2122+
key = check_bool_indexer(self.index, key)
21232123
indexer = key.nonzero()[0]
21242124
self._check_setitem_copy()
21252125
self.ix._setitem_with_indexer(indexer, value)
@@ -2246,7 +2246,7 @@ def reindexer(value):
22462246
if isinstance(self.columns, MultiIndex) and key in self.columns:
22472247
loc = self.columns.get_loc(key)
22482248
if isinstance(loc, (slice, Series, np.ndarray, Index)):
2249-
cols = _maybe_droplevels(self.columns[loc], key)
2249+
cols = maybe_droplevels(self.columns[loc], key)
22502250
if len(cols) and not cols.equals(value.columns):
22512251
value = value.reindex_axis(cols, axis=1)
22522252
# now align rows

pandas/core/index.py

+16-18
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import pandas.core.common as com
2121
from pandas.core.common import (_values_from_object, is_float, is_integer,
2222
ABCSeries, _ensure_object, _ensure_int64, is_bool_indexer,
23-
is_list_like, is_bool_dtype, is_integer_dtype)
23+
is_list_like, is_bool_dtype, is_null_slice, is_integer_dtype)
2424
from pandas.core.config import get_option
2525
from pandas.io.common import PerformanceWarning
2626

@@ -720,7 +720,7 @@ def validate(v):
720720
def is_int(v):
721721
return v is None or is_integer(v)
722722

723-
is_null_slice = start is None and stop is None
723+
is_null_slicer = start is None and stop is None
724724
is_index_slice = is_int(start) and is_int(stop)
725725
is_positional = is_index_slice and not self.is_integer()
726726

@@ -742,7 +742,7 @@ def is_int(v):
742742
if self.inferred_type == 'mixed-integer-float':
743743
raise
744744

745-
if is_null_slice:
745+
if is_null_slicer:
746746
indexer = key
747747
elif is_positional:
748748
indexer = key
@@ -2615,7 +2615,7 @@ def get_value(self, series, key):
26152615
if not np.isscalar(key):
26162616
raise InvalidIndexError
26172617

2618-
from pandas.core.indexing import _maybe_droplevels
2618+
from pandas.core.indexing import maybe_droplevels
26192619
from pandas.core.series import Series
26202620

26212621
k = _values_from_object(key)
@@ -2626,7 +2626,7 @@ def get_value(self, series, key):
26262626
return new_values
26272627

26282628
new_index = self[loc]
2629-
new_index = _maybe_droplevels(new_index, k)
2629+
new_index = maybe_droplevels(new_index, k)
26302630
return Series(new_values, index=new_index, name=series.name)
26312631

26322632
def equals(self, other):
@@ -3245,7 +3245,7 @@ def duplicated(self, take_last=False):
32453245

32463246
def get_value(self, series, key):
32473247
# somewhat broken encapsulation
3248-
from pandas.core.indexing import _maybe_droplevels
3248+
from pandas.core.indexing import maybe_droplevels
32493249
from pandas.core.series import Series
32503250

32513251
# Label-based
@@ -3257,7 +3257,7 @@ def _try_mi(k):
32573257
loc = self.get_loc(k)
32583258
new_values = series.values[loc]
32593259
new_index = self[loc]
3260-
new_index = _maybe_droplevels(new_index, k)
3260+
new_index = maybe_droplevels(new_index, k)
32613261
return Series(new_values, index=new_index, name=series.name)
32623262

32633263
try:
@@ -4192,7 +4192,7 @@ def get_loc_level(self, key, level=0, drop_level=True):
41924192
-------
41934193
loc : int or slice object
41944194
"""
4195-
def _maybe_drop_levels(indexer, levels, drop_level):
4195+
def maybe_droplevels(indexer, levels, drop_level):
41964196
if not drop_level:
41974197
return self[indexer]
41984198
# kludgearound
@@ -4221,7 +4221,7 @@ def _maybe_drop_levels(indexer, levels, drop_level):
42214221

42224222
result = loc if result is None else result & loc
42234223

4224-
return result, _maybe_drop_levels(result, level, drop_level)
4224+
return result, maybe_droplevels(result, level, drop_level)
42254225

42264226
level = self._get_level_number(level)
42274227

@@ -4234,7 +4234,7 @@ def _maybe_drop_levels(indexer, levels, drop_level):
42344234
try:
42354235
if key in self.levels[0]:
42364236
indexer = self._get_level_indexer(key, level=level)
4237-
new_index = _maybe_drop_levels(indexer, [0], drop_level)
4237+
new_index = maybe_droplevels(indexer, [0], drop_level)
42384238
return indexer, new_index
42394239
except TypeError:
42404240
pass
@@ -4248,8 +4248,8 @@ def partial_selection(key, indexer=None):
42484248
indexer = self.get_loc(key)
42494249
ilevels = [i for i in range(len(key))
42504250
if key[i] != slice(None, None)]
4251-
return indexer, _maybe_drop_levels(indexer, ilevels,
4252-
drop_level)
4251+
return indexer, maybe_droplevels(indexer, ilevels,
4252+
drop_level)
42534253

42544254
if len(key) == self.nlevels:
42554255

@@ -4307,11 +4307,11 @@ def partial_selection(key, indexer=None):
43074307
indexer = slice(None, None)
43084308
ilevels = [i for i in range(len(key))
43094309
if key[i] != slice(None, None)]
4310-
return indexer, _maybe_drop_levels(indexer, ilevels,
4311-
drop_level)
4310+
return indexer, maybe_droplevels(indexer, ilevels,
4311+
drop_level)
43124312
else:
43134313
indexer = self._get_level_indexer(key, level=level)
4314-
return indexer, _maybe_drop_levels(indexer, [level], drop_level)
4314+
return indexer, maybe_droplevels(indexer, [level], drop_level)
43154315

43164316
def _get_level_indexer(self, key, level=0):
43174317
# return a boolean indexer or a slice showing where the key is
@@ -4388,8 +4388,6 @@ def get_locs(self, tup):
43884388
for passing to iloc
43894389
"""
43904390

4391-
from pandas.core.indexing import _is_null_slice
4392-
43934391
# must be lexsorted to at least as many levels
43944392
if not self.is_lexsorted_for_tuple(tup):
43954393
raise KeyError('MultiIndex Slicing requires the index to be fully lexsorted'
@@ -4427,7 +4425,7 @@ def _convert_indexer(r):
44274425
else:
44284426
ranges.append(np.zeros(self.labels[i].shape, dtype=bool))
44294427

4430-
elif _is_null_slice(k):
4428+
elif is_null_slice(k):
44314429
# empty slice
44324430
pass
44334431

0 commit comments

Comments
 (0)