diff --git a/dios/dios.py b/dios/dios.py index ba45f247eacb3714ea79f478995e5b76d9f90359..a748a5673e8ed6d542936188de2294bd32ee570e 100644 --- a/dios/dios.py +++ b/dios/dios.py @@ -8,7 +8,8 @@ from collections import OrderedDict from pandas.core.dtypes.common import ( is_list_like, is_iterator, - is_number + is_number, + is_integer, ) from pandas.core.indexing import need_slice @@ -71,9 +72,9 @@ class _LocIndexer: stop = keys.index(rslice.stop) if rslice.stop is not None else None except ValueError: raise KeyError("The slice start label or the slice stop label is not present in the columns.") - if not is_number(rslice): - raise TypeError("The step parameter of the slice must be numeric.") - return keys[slice(start, stop, rslice.step)] + if not is_integer(rslice) and rslice > 0: + raise TypeError("The step parameter of the slice must be positive integer.") + return keys[slice(start, stop + 1, rslice.step)] class DictOfSeries: