diff --git a/pandas/core/strings.py b/pandas/core/strings.py index 23c891ec4fcd0..bbb7ec7e77a59 100644 --- a/pandas/core/strings.py +++ b/pandas/core/strings.py @@ -1651,17 +1651,53 @@ def str_translate(arr, table, deletechars=None): def str_get(arr, i): """ + Extract element from each component at specified position. + Extract element from lists, tuples, or strings in each element in the Series/Index. Parameters ---------- i : int - Integer index (location) + Position of element to extract. Returns ------- items : Series/Index of objects + + Examples + -------- + >>> s = pd.Series(["String", + (1, 2, 3), + ["a", "b", "c"], + 123, -456, + {1:"Hello", "2":"World"}]) + >>> s + 0 String + 1 (1, 2, 3) + 2 [a, b, c] + 3 123 + 4 -456 + 5 {1: 'Hello', '2': 'World'} + dtype: object + + >>> s.str.get(1) + 0 t + 1 2 + 2 b + 3 NaN + 4 NaN + 5 Hello + dtype: object + + >>> s.str.get(-1) + 0 g + 1 3 + 2 c + 3 NaN + 4 NaN + 5 NaN + dtype: object """ f = lambda x: x[i] if len(x) > i >= -len(x) else np.nan return _na_map(f, arr)