Cree una nueva columna en Pandas DataFrame basada en las columnas existentes

Mientras trabajamos con datos en Pandas, realizamos una amplia gama de operaciones en los datos para obtener los datos en la forma deseada. Una de estas operaciones podría ser que queramos crear nuevas columnas en el DataFrame en función del resultado de algunas operaciones en las columnas existentes en el DataFrame. Vamos a discutir varias formas en que podemos hacer eso.

Dado un marco de datos que contiene datos sobre un evento, nos gustaría crear una nueva columna llamada ‘Precio_con descuento’ , que se calcula después de aplicar un descuento del 10 % en el precio de la entrada.

Solución #1: Podemos usar DataFrame.apply()la función para lograr esta tarea.

# importing pandas as pd
import pandas as pd
  
# Creating the DataFrame
df = pd.DataFrame({'Date':['10/2/2011', '11/2/2011', '12/2/2011', '13/2/2011'],
                    'Event':['Music', 'Poetry', 'Theatre', 'Comedy'],
                    'Cost':[10000, 5000, 15000, 2000]})
  
# Print the dataframe
print(df)

Producción :

Ahora crearemos una nueva columna llamada ‘Precio_con_descuento’ después de aplicar un descuento del 10 % en la columna ‘Costo’ existente.

# using apply function to create a new column
df['Discounted_Price'] = df.apply(lambda row: row.Cost - 
                                  (row.Cost * 0.1), axis = 1)
  
# Print the DataFrame after addition
# of new column
print(df)

Producción :

Solución n.º 2: podemos lograr el mismo resultado realizando directamente la operación requerida en el elemento de la columna deseada.

# importing pandas as pd
import pandas as pd
  
# Creating the DataFrame
df = pd.DataFrame({'Date':['10/2/2011', '11/2/2011', '12/2/2011', '13/2/2011'],
                    'Event':['Music', 'Poetry', 'Theatre', 'Comedy'],
                    'Cost':[10000, 5000, 15000, 2000]})
  
# Create a new column 'Discounted_Price' after applying
# 10% discount on the existing 'Cost' column.
  
# create a new column
df['Discounted_Price'] = df['Cost'] - (0.1 * df['Cost'])
  
# Print the DataFrame after 
# addition of new column
print(df)

Producción :

Publicación traducida automáticamente

Artículo escrito por Shubham__Ranjan 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 *