Pandas: Dividir columnas por delimitador

Pandas: Dividir columnas por delimitador

Pandas es una librería de Python utilizada para el análisis y procesamiento de datos. Una de las tareas más comunes en el procesamiento de datos es la división de columnas de datos que contienen información mezclada en una misma celda, separada por comas, puntos, guiones y otros caracteres. La función Split() del objeto Series de Pandas, permite la separación de cadenas de caracteres utilizando un delimitador específico. En este artículo, vamos a explorar cómo utilizar la función Split() para separar los datos de una columna y crear nuevas columnas.

📋 Aquí podrás encontrar✍
  1. ¿Qué es la función Split()?
  2. Cómo usar la función Split() de Pandas
  3. Ejemplos de uso de la función Split()
    1. Separación de nombres y apellidos
    2. Separación de direcciones y ciudades
    3. Conclusión
    4. Preguntas frecuentes
    5. ¿La función Split() es compatible con todos los delimitadores posibles?
    6. ¿Se pueden separar subcadenas por posición?
    7. ¿Qué otros tipos de análisis pueden ser aplicados a los datos separados?
    8. ¿Es posible hacer la separación de columnas en datos provenientes de una base de datos?

¿Qué es la función Split()?

La función Split() es una función integrada de Python que se utiliza para dividir una cadena de caracteres en lista de cadenas de subcaracteres. La función utiliza el delimitador proporcionado para separar la cadena de caracteres y crear subcadenas.

La función Split() puede ser utilizada en objetos de tipo Series de Pandas, lo que permite la separación de los datos de una columna utilizando un delimitador específico. Esto es muy útil para realizar manipulaciones y análisis posteriores de los datos.

Cómo usar la función Split() de Pandas

Para utilizar la función Split() en una columna de datos, primero debemos crear una nueva columna vacía a la que se asignarán los valores separados.

Una vez creada la nueva columna, podemos utilizar la función Split() para separar los datos de origen. La función Split() necesita recibir el delimitador como argumento. En el ejemplo siguiente se muestra cómo se puede utilizar la función Split() para separar los datos de una columna que contiene información separada por comas.

import pandas as pd

# Crear DataFrame de ejemplo
df_ejemplo = pd.DataFrame({'Nombre':['Juan', 'María', 'Pedro'], 'Edad':[25, 30, 35], 'Email':['[email protected]', 'maria.hotmail.com', '[email protected]']})

# Crear nueva columna Email completo
df_ejemplo['Email completo'] = df_ejemplo['Email']

# Utilizar función Split() para separar datos
df_ejemplo[['Usuario', 'Dominio']] = df_ejemplo['Email completo'].str.split('@', expand=True)

# Borrar la columna Email completo
df_ejemplo.drop('Email completo', axis=1, inplace=True)

# Imprimir DataFrame resultante
print(df_ejemplo)

El resultado del anterior código es la creación de dos nuevas columnas, 'Usuario' y 'Dominio', que contienen el nombre de usuario y el dominio del correo electrónico.

Ejemplos de uso de la función Split()

La función Split() se puede utilizar de múltiples maneras para separar los datos de una columna. Algunos ejemplos comunes pueden incluir la separación de cadenas de caracteres que contienen:

  • Nombres y apellidos
  • Direcciones, números de calle y ciudades
  • Codigos postales
  • Números telefónicos

Separación de nombres y apellidos

En el siguiente ejemplo se muestra cómo se utilizan las funciones Split() y Slice() de Pandas para separar los nombres y apellidos en dos columnas separadas.

import pandas as pd

# Crear DataFrame de ejemplo
df_ejemplo = pd.DataFrame({'Nombre':['Juan Pérez', 'María González', 'Pedro Gómez'], 'Edad':[25, 30, 35]})

# Crear columnas de nombres y apellidos
df_ejemplo['Nombre completo'] = df_ejemplo['Nombre']
df_ejemplo[['Nombre', 'Apellido']] = df_ejemplo['Nombre completo'].str.split(' ', expand=True)

# Borrar la columna Nombre completo
df_ejemplo.drop('Nombre completo', axis=1, inplace=True)

# Imprimir DataFrame resultante
print(df_ejemplo)

El resultado es la creación de dos nuevas columnas, 'Nombre' y 'Apellido', conteniendo los nombres y apellidos de cada persona.

Separación de direcciones y ciudades

En el siguiente ejemplo se utiliza la función Split() para separar las direcciones de las ciudades en dos columnas separadas.

import pandas as pd

# Crear DataFrame de ejemplo
df_ejemplo = pd.DataFrame({'Dirección':['Calle 23 # 18-56', 'Carrera 15 # 45-32', 'Avenida 7 # 74-12'], 'Ciudad':['Bogotá', 'Medellín', 'Cali']})

# Crear columnas de dirección y ciudad
df_ejemplo['Dirección completa'] = df_ejemplo['Dirección']
df_ejemplo[['Dirección', 'Número', 'Barrio']] = df_ejemplo['Dirección completa'].str.split(' ', expand=True)
df_ejemplo.drop(['Dirección completa', 'Número'], axis=1, inplace=True)

# Imprimir DataFrame resultante
print(df_ejemplo)

El resultado es la creación de dos nuevas columnas, 'Dirección' y 'Barrio', que contienen la dirección y el barrio respectivamente.

Conclusión

La función Split() es una herramienta poderosa que permite la separación de cadenas de caracteres utilizando un delimitador específico. En Pandas, la función Split() es una característica útil que permite la separación de datos en columnas separadas. La capacidad de separar y manipular datos de esta manera, facilita el análisis y procesamiento de grandes conjuntos de datos.

Preguntas frecuentes

¿La función Split() es compatible con todos los delimitadores posibles?

La función Split() es compatible con una variedad de delimitadores, como comas, puntos, guiones y otros caracteres. Sin embargo, es importante confirmar que el delimitador utilizado sea el correcto para evitar errores en el procesamiento.

¿Se pueden separar subcadenas por posición?

Sí, utilizando la función Slice() de Pandas, se pueden separar subcadenas por posición. Sin embargo, la separación por posición puede generar resultados inconsistentes si los datos no están estructurados de manera uniforme.

¿Qué otros tipos de análisis pueden ser aplicados a los datos separados?

Una vez que los datos han sido separados en columnas separadas, es posible realizar análisis adicionales, tales como la agregación de valores, la creación de tablas dinámicas y la visualización de datos. Estas técnicas pueden utilizarse para identificar los patrones de datos y proporcionar información valiosa sobre los datos.

¿Es posible hacer la separación de columnas en datos provenientes de una base de datos?

Sí, la función Split() de Pandas se puede aplicar a datos importados desde una base de datos, siempre y cuando los datos estén en formato adecuado.

Los ejemplos mostrados funcionan para cualquier versión de Python?

Sí, los ejemplos mostrados son compatibles con cualquier versión de Python, siempre que se tenga instalada la librería de Pandas.

Deja una respuesta

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

Subir