Obtener subcadena en Pandas

Fariba Laiq 15 febrero 2024
  1. Obtener Subcadena de los valores de la columna DataFrame de Pandas
  2. Extraiga los primeros N caracteres de una cadena
  3. Extraiga los últimos N caracteres de una cadena
  4. Extraiga cualquier subcadena de la mitad de una cadena
Obtener subcadena en Pandas

Pandas es una biblioteca de análisis de datos de código abierto en Python. Proporciona muchos métodos integrados para realizar operaciones en datos numéricos.

En esta guía, obtendremos una subcadena (parte de una cadena) de los valores de una columna del marco de datos de pandas a través de diferentes enfoques. Podría ser útil cuando queremos extraer alguna subcadena significativa de una cadena.

Obtener Subcadena de los valores de la columna DataFrame de Pandas

Usaremos métodos de corte de cuerdas para lograr esta tarea. El método str.slice() devuelve una parte de una cadena sin modificar la cadena real.

Sintaxis:

# Python 3.x
df.column_name.str.slice(start_index, end_index)

También podemos cortar cadenas utilizando el descriptor de acceso str con corchetes ([]).

# Python 3.x
df.column_name.str[start_index:end_index]

Extraiga los primeros N caracteres de una cadena

Tenemos un marco de datos de Pandas en el siguiente ejemplo que consiste en el nombre completo del procesador. Si queremos obtener la subcadena intel (los primeros cinco caracteres), especificaremos 0 y 5 como índices de inicio y fin, respectivamente.

También podemos mencionar solo el índice final si usamos el método de corchetes porque tienen el mismo significado.

Código de ejemplo:

# Python 3.x
import pandas as pd
import numpy as np

df = {"Processor": ["Intel Core i7", "Intel Core i3", "Intel Core i5", "Intel Core i9"]}
df = pd.DataFrame.from_dict(df)
display(df)
df["Brand Name"] = df.Processor.str.slice(0, 5)
display(df)

Producción:

Extraiga los primeros N caracteres de una cadena

Extraiga los últimos N caracteres de una cadena

Si queremos extraer el modificador de marca (los dos últimos caracteres) de la cadena, usaremos indexación negativa en el corte de la cadena. Pasaremos el índice inicial -2 (índice del penúltimo carácter) y dejaremos vacío el índice final.

Tomará automáticamente los dos últimos caracteres de la cadena.

Código de ejemplo:

# Python 3.x
import pandas as pd
import numpy as np

df = {"Processor": ["Intel Core i7", "Intel Core i3", "Intel Core i5", "Intel Core i9"]}
df = pd.DataFrame.from_dict(df)
display(df)
df["Brand Modifier"] = df.Processor.str.slice(
    -2,
)
display(df)

Producción:

Extraiga los últimos N caracteres de una cadena

Extraiga cualquier subcadena de la mitad de una cadena

Para obtener una subcadena del medio de una cadena, debemos especificar el índice de inicio y final en el corte de cadenas. Aquí, si queremos obtener la palabra Core, mencionaremos 6 y 10 como índices de inicio y fin, respectivamente.

Obtendrá la subcadena entre (e inclusive de) las posiciones especificadas.

Código de ejemplo:

# Python 3.x
import pandas as pd
import numpy as np

df = {"Processor": ["Intel Core i7", "Intel Core i3", "Intel Core i5", "Intel Core i9"]}
df = pd.DataFrame.from_dict(df)
display(df)
df["Series"] = df.Processor.str[6:10]
display(df)

Producción:

Extraiga cualquier subcadena de la mitad de una cadena

Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

Artículo relacionado - Pandas String