diff --git a/pandas/core/strings.py b/pandas/core/strings.py index 861739f6c694c..5a23951145cb4 100644 --- a/pandas/core/strings.py +++ b/pandas/core/strings.py @@ -1437,17 +1437,69 @@ def str_rsplit(arr, pat=None, n=None): def str_slice(arr, start=None, stop=None, step=None): """ - Slice substrings from each element in the Series/Index + Slice substrings from each element in the Series or Index. Parameters ---------- - start : int or None - stop : int or None - step : int or None + start : int, optional + Start position for slice operation. + stop : int, optional + Stop position for slice operation. + step : int, optional + Step size for slice operation. Returns ------- - sliced : Series/Index of objects + Series or Index of object + Series or Index from sliced substring from original string object. + + See Also + -------- + Series.str.slice_replace : Replace a slice with a string. + Series.str.get : Return element at position. + Equivalent to `Series.str.slice(start=i, stop=i+1)` with `i` + being the position. + + Examples + -------- + >>> s = pd.Series(["koala", "fox", "chameleon"]) + >>> s + 0 koala + 1 fox + 2 chameleon + dtype: object + + >>> s.str.slice(start=1) + 0 oala + 1 ox + 2 hameleon + dtype: object + + >>> s.str.slice(stop=2) + 0 ko + 1 fo + 2 ch + dtype: object + + >>> s.str.slice(step=2) + 0 kaa + 1 fx + 2 caeen + dtype: object + + >>> s.str.slice(start=0, stop=5, step=3) + 0 kl + 1 f + 2 cm + dtype: object + + Equivalent behaviour to: + + >>> s.str[0:5:3] + 0 kl + 1 f + 2 cm + dtype: object """ obj = slice(start, stop, step) f = lambda x: x[obj]