Obtenga la substring de la columna en Pandas-Python

Ahora, veremos cómo podemos obtener la substring para todos los valores de una columna en un marco de datos de Pandas. Esta extracción puede ser muy útil cuando se trabaja con datos. Por ejemplo, tenemos el nombre y apellido de diferentes personas en una columna y necesitamos extraer las primeras 3 letras de su nombre para crear su nombre de usuario.

Ejemplo 1:
podemos recorrer el rango de la columna y calcular la substring para cada valor en la columna.

# importing pandas as pd
import pandas as pd 
  
# creating a dictionary
dict = {'Name':["John Smith", "Mark Wellington", 
                "Rosie Bates", "Emily Edward"]}
  
# converting the dictionary to a
# dataframe
df = pd.DataFrame.from_dict(dict)
  
# storing first 3 letters of name
for i in range(0, len(df)):
    df.iloc[i].Name = df.iloc[i].Name[:3]
  
df

Producción:

pandas-extract-substring-1

Nota: Para obtener más información, consulte Python Extracción de filas mediante Pandas

Ejemplo 2: En este ejemplo usaremos str.slice().

# importing pandas as pd
import pandas as pd 
  
# creating a dictionary
dict = {'Name':["John Smith", "Mark Wellington",
                "Rosie Bates", "Emily Edward"]}
  
# converting the dictionary to a 
# dataframe
df = pd.DataFrame.from_dict(dict)
  
# storing first 3 letters of name as username
df['UserName'] = df['Name'].str.slice(0, 3)
  
df

Producción:

pandas-extract-2

Ejemplo 3: También podemos usar el descriptor de acceso str de una manera diferente usando corchetes.

# importing pandas as pd
import pandas as pd 
  
# creating a dictionary
dict = {'Name':["John Smith", "Mark Wellington", 
                "Rosie Bates", "Emily Edward"]}
  
# converting the dictionary to a dataframe
df = pd.DataFrame.from_dict(dict)
  
# storing first 3 letters of name as username
df['UserName'] = df['Name'].str[:3]
  
df

Producción:

pandas-extract-21

Ejemplo 4: También podemos usar str.extract para esta tarea. En este ejemplo, almacenaremos el apellido de cada persona en la columna «Apellido».

# importing pandas as pd
import pandas as pd 
  
# creating a dictionary
dict = {'Name':["John Smith", "Mark Wellington",
                "Rosie Bates", "Emily Edward"]}
  
# converting the dictionary to a dataframe
df = pd.DataFrame.from_dict(dict)
  
# storing lastname of each person
df['LastName'] = df.Name.str.extract(r'\b(\w+)$', 
                                     expand = True)
  
df

Producción:

pandas-extract-substring-2

Publicación traducida automáticamente

Artículo escrito por parasmadan15 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *