¿Cómo agregar una o varias columnas de pandas si no existe?

Siga este tutorial para validar si su DataFrame contiene una o varias columnas y agréguelas según sea necesario.

Paso 1: crea tu marco de datos

Comenzamos importando el paquete de la biblioteca pandas y definiendo un DataFrame simple:

import pandas as pd  cols = ['Area', 'Office', 'Sales', 'Expenses'] sales_df = pd.DataFrame(columns = cols )

La variable cols contiene cuatro columnas DataFrame. Luego inicializamos el DataFrame al que se le asignan esas columnas.

Nota: asegúrese de instalar el paquete pandas antes de importarlo a su computadora portátil JupyTer.

Podemos listar fácilmente el índice de la columna DataFrame usando el siguiente comando:

sales_df.columns

Esto devolverá el índice de columnas:

Index(['Area', 'Office', 'Sales', 'Expenses'], dtype="object")

Paso 2: validar si existe la columna pandas

Ahora es bastante simple verificar si una columna específica es parte del índice:

col_name="Margin" col_name not in sales_df.columns:

Esto devolverá un True booleano ya que está claro que no tenemos una columna llamada Margin en nuestro DataFrame.

Paso 3: agregue una nueva columna si no existe

Ahora podemos juntar todo. Primero buscaremos la columna Margen en el DataFrame y si no la encontramos, agregaremos una columna llamada Margen que restará dos columnas (en nuestro caso Ventas y Gastos).

if col_name not in sales_df.columns:     sales_df[col_name] = sales_df['Sales'] - sales_df['Expenses'] else:     print(' The column already exists in your DataFrame.')     

Ahora podemos agregar fácilmente las columnas de DataFrame:

sales_df.columns

Esto devolverá:

Index(['Area', 'Office', 'Sales', 'Expenses', 'Margin'], dtype="object")

Paso 4: agregar varias columnas a la vez si no existe

En este ejemplo simple, veremos el caso de varias columnas.

cols_to_add = ['Date', 'Time'] for col in cols_to_add:     if col not in sales_df.columns:         sales_df[col] = #your value here     else:         print(' The column already exists in your DataFrame.')

Aprendizaje relacionado

¿Cómo seleccionar filas por valores de fila y columna?