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:
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:
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:
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:
Publicación traducida automáticamente
Artículo escrito por parasmadan15 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA