pandas.Series.str

Nombre completo
pandas.Series.str
Librería
pandas
Sintaxis

pandas.Series.str()

Descripción

El método str de una serie pandas nos da acceso a funciones vectorizadas de tratamiento de cadenas de texto, haciendo innecesario el recurrir a bucles externos.

Parámetros

El método pandas.Series.str no acepta parámetros.

Ejemplos

Supongamos que partimos de la siguiente serie pandas:

s = pd.Series(["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio"])
s

0      Enero
1    Febrero
2      Marzo
3      Abril
4       Mayo
5      Junio
dtype: object

Si deseásemos, por ejemplo, convertir los nombres de los meses a mayúsculas, podríamos pensar que el único método es recurrir a bucles externos o a una list comprehension:

[t.upper() for t in s]

['ENERO', 'FEBRERO', 'MARZO', 'ABRIL', 'MAYO', 'JUNIO']

...para reasignar estos valores a nuestra serie s:

s = pd.Series([t.upper() for t in s])
s

0      ENERO
1    FEBRERO
2      MARZO
3      ABRIL
4       MAYO
5      JUNIO
dtype: object

Sin embargo, el rendimiento de este tipo de herramientas es inferior al que nos ofrecen las funciones vectorizadas, por lo que sería conveniente disponer de este tipo de funciones para poder aplicarlas a los valores de las estructuras pandas uno por uno ("element-wise"). Pues bien, el método str precisamente nos da acceso a este tipo de funciones. Por ejemplo, si partimos de nuestra serie s original:

s = pd.Series(["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio"])
s

0      Enero
1    Febrero
2      Marzo
3      Abril
4       Mayo
5      Junio
dtype: object

...para convertir los textos a mayúsculas valdría con ejecutar el siguiente código:

s = s.str.upper()
s

0      ENERO
1    FEBRERO
2      MARZO
3      ABRIL
4       MAYO
5      JUNIO
dtype: object

Podemos visualizar el conjunto de nombres asociados a este método para confirmar las funciones a las que tenemos acceso:

print([i for i in dir(pd.Series.str) if not i.startswith("_")])

['capitalize', 'casefold', 'cat', 'center', 'contains', 'count', 'decode', 'encode', 'endswith', 'extract', 'extractall', 'find', 'findall', 'get', 'get_dummies', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'islower', 'isnumeric', 'isspace', 'istitle', 'isupper', 'join', 'len', 'ljust', 'lower', 'lstrip', 'match', 'normalize', 'pad', 'partition', 'repeat', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'slice', 'slice_replace', 'split', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'wrap', 'zfill']

Enviado por admin el Jue, 05/11/2020 - 17:50