A tu propio ritmo

Explora nuestra extensa colección de cursos diseñados para ayudarte a dominar varios temas y habilidades. Ya seas un principiante o un aprendiz avanzado, aquí hay algo para todos.

Bootcamp

Aprende en vivo

Únete a nosotros en nuestros talleres gratuitos, webinars y otros eventos para aprender más sobre nuestros programas y comenzar tu camino para convertirte en desarrollador.

Próximos eventos en vivo

Catálogo de contenidos

Para los geeks autodidactas, este es nuestro extenso catálogo de contenido con todos los materiales y tutoriales que hemos desarrollado hasta el día de hoy.

Tiene sentido comenzar a aprender leyendo y viendo videos sobre los fundamentos y cómo funcionan las cosas.

Buscar en lecciones


IngresarEmpezar
← Volver a Cómo hacerlo
  • python

  • pandas

Editar en Github

¿Cómo añadir una columna a un DataFrame en Python?

Escrito por:

Una columna de DataFrame en cuanto a la librería de Pandas en Python, se refiere a una serie de valores organizados de manera vertical dentro de un objeto DataFrame. Representa una característica o valor único dentro del conjunto de datos a analizar.

🔗 Si quieres un tutorial sobre Pandas python o conocer más sobre dataframes en pandas te invito a leer el Blog de 4Geeks, donde encontrarás contenido muy interesante

1# Es necesario importar la librería de Pandas 2import pandas as pd 3 4# Crear un DataFrame de muestra 5data = {'Company ': ['Facebook', 'Apple', 'Google', 'Neftlix'], 6 'Started At': [2004, 1976, 1998, 1997]} 7df = pd.DataFrame(data) 8 9# Agregar una nueva columna al DataFrame 10publicly_traded_company = [True, True, True, True] # Data de muestra para nueva columna 11df['publicly_traded_company'] = publicly_traded_company 12 13# Imprimir el DataFrame actualizado 14print(df) 15 16# Resultado esperado 17# Company Started At publicly_traded_company 18#0 Facebook 2004 True 19#1 Apple 1976 True 20#2 Google 1998 True 21#3 Neftlix 1997 True

El código anterior crea un conjunto de datos base, al cual posteriormente se le realiza la adición de la columna cotiza_en_bolsa junto con sus valores. Al imprimir el código, se puede apreciar como el conjunto de datos cuenta con la columna adicional.

Este articulo profundiza en las maneras de añadir columnas DataFrame en Python. Si quieres más información de cómo utilizar Pandas en otras aplicaciones, puedes ver nuestro tutorial de Python Pandas.

Columna DataFrame Python

La forma de organización de información en un DataFrame es con las filas organizadas de manera horizontal, mientras que las columnas se van colocando verticalmente. Esta estructura intuitiva permita una manipulación y almacenamiento eficiente de la información. Las columnas pueden contener diferentes tipos de datos como números, fechas, strings o booleanos, agregando a su versatilidad.

Los usos más comunes de los DataFrame son la manipulación y el análisis de datos. Las columnas se pueden modificar, leer, agregar o quitar para realizar muchas operaciones y transformaciones en la data contenida en el DataFrame. Para agregar una columna DataFrame en Python se puede utilizar el siguiente código:

Maneras de agregar DataFrames en Python

Existen diferentes formas de agregar columnas a un DataFrame de Pandas en Python. A continuación se muestran 3 de las maneras más comunes de realizar este proceso:

Asignación directa

Se puede asignar un arreglo o lista a una columna con un nuevo nombre dentro del DataFrame. Hacer esto alinea automáticamente los datos basados en los índices del DataFrame. Aquí un ejemplo:

1import pandas as pd 2 3# Crear un DataFrame 4data = {'Brand': ['Toyota', 'Ford', 'Tesla', 'Mitsubishi'], 5 'Model': ['Hilux', 'Escape', 'Model S', 'Lancer']} 6df = pd.DataFrame(data) 7 8# Agregar una nueva columna al DataFrame 9df['Year'] = ['2020', '2019', '2022', '2015'] 10 11print(df) 12 13# Resultado esperado 14# Brand Model Year 15#0 Toyota Hilux 2020 16#1 Ford Escape 2019 17#2 Tesla Model S 2022 18#3 Mitsubishi Lancer 2015

Método insert()

Este método permite agregar la columna en una posición especifica dentro del DataFrame. Es necesario proveer tanto el índice y el nombre de la columna. Ejemplo de uso del método insert():

1import pandas as pd 2 3# Crear un DataFrame 4data = {'Brand': ['Toyota', 'Ford', 'Tesla', 'Mitsubishi'], 5 'Model': ['Hilux', 'Escape', 'Model S', 'Lancer']} 6df = pd.DataFrame(data) 7 8# Agregar una nueva columna al DataFrame 9year = ['2020', '2019', '2022', '2015'] 10df.insert(1, 'Year', year) 11 12print(df) 13 14# Resultado esperado 15# Brand Year Model 16#0 Toyota 2020 Hilux 17#1 Ford 2019 Escape 18#2 Tesla 2022 Model S 19#3 Mitsubishi 2015 Lancer

Método assign()

Este método genera un nuevo DataFrame que incluye la columna que se agrega. Devuelve un nuevo objeto DataFrame sin modificar el DataFrame original. Chequea este ejmplo de cómo utilizar el método assign() para añadir una columna:

1import pandas as pd 2 3# Crear un DataFrame 4data = {'Brand': ['Toyota', 'Ford', 'Tesla', 'Mitsubishi'], 5 'Model': ['Hilux', 'Escape', 'Model S', 'Lancer']} 6df = pd.DataFrame(data) 7 8# Agregar una nueva columna al DataFrame 9year = ['2020', '2019', '2022', '2015'] 10df2 = df.assign(Year = year) 11 12print(df2) 13 14# Resultado esperado 15# Brand Model Year 16#0 Toyota Hilux 2020 17#1 Ford Escape 2019 18#2 Tesla Model S 2022 19#3 Mitsubishi Lancer 2015

Casos de uso

Se tiene una lista de datos que lleva registro de una serie de errores ocurridos en los últimos 6 meses. Luego de validar los errores, se quiere documentar la severidad que tuvieron los errores en la operación, y controlar errores similares de cerca. Debido a que el DataFrame actual no cuenta con la información adicional, se necesita crear una columna de datos para llevar registro de la información adicional. Se quiere dejar el DataFrame original sin editar.

1import pandas as pd 2 3# Crear un DataFrame 4data = {Error: ['Car computer hacked', 'Wheels misaligned', 'Windshield broken', 'Ran out of battery'], 5 'Date': ['1/2/2023', '26/2/2023', '4/4/2023', '6/22/2023']} 6df = pd.DataFrame(data) 7 8# Agregar una nueva columna al DataFrame 9severity = ['high', 'medium', 'high', 'low'] 10df2 = df.assign(Severity = severity) 11 12print(df2) 13 14# Resultado esperado 15# Error Date Severity 16#0 Car computer hacked 1/2/2023 high 17#1 Wheels misaligned 26/2/2023 medium 18#2 Windshield broken 4/4/2023 high 19#3 Ran out of battery 6/22/2023 low

Se utiliza el método assign() ya que se especifica que no se desea modificar el DataFrame actual. Por medio de esta asignación se puede generar una nueva columna que incluya información sobre la severidad del error.

Agregar columnas en los DataFrame es muy importante ya que nos permite realizar modificaciones sobre conjuntos de datos ya existentes, y así poder llevar registro de información adicional a la que incluye el conjunto original.