En este artículo, discutiremos cómo restar dos columnas en el marco de datos de pandas en Python.
Trama de datos en uso:
Método 1: método directo
Esta es la sintaxis del método __getitem__ ( [] ), que le permite acceder directamente a las columnas del marco de datos utilizando el nombre de la columna.
Ejemplo: restar dos columnas en el marco de datos de Pandas
Python3
import numpy as np import pandas as pd data = np.arange(0, 20).reshape(4, 5) df1 = pd.DataFrame(data, index=['Row 1', 'Row 2', 'Row 3', 'Row 4'], columns=['Column 1', 'Column 2', 'Column 3', 'Column 4', 'Column 5']) # using our previous example # now let's subtract the values of two columns df1['Column 1'] - df1['Column 2']
Producción:
Método 2: Definición de una función
Podemos crear una función específicamente para restar las columnas, tomando los datos de la columna como argumentos y luego usando el método de aplicación para aplicarlo a todos los puntos de datos de la columna.
Ejemplo: restar dos columnas en el marco de datos de Pandas
Python3
import numpy as np import pandas as pd def diff(a, b): return b - a data = np.arange(0, 20).reshape(4, 5) df = pd.DataFrame(data, index=['Row 1', 'Row 2', 'Row 3', 'Row 4'], columns=['Column 1', 'Column 2', 'Column 3', 'Column 4', 'Column 5']) df['Difference_2_1'] = df.apply( lambda x: diff(x['Column 2'], x['Column 2']), axis=1)
Producción :
Método 3: Usando apply()
Dado que la operación que queremos realizar es simple, podemos usar directamente el método apply() sin definir explícitamente una función. Proporcione el argumento del eje como 1 para acceder a las columnas.
Sintaxis:
s.apply(func, convert_dtype=True, args=())
Parámetros:
- func: .apply toma una función y la aplica a todos los valores de la serie pandas.
- convert_dtype: convierte dtype según la operación de la función.
- args=(): Argumentos adicionales para pasar a función en lugar de serie.
Tipo de retorno: Serie Pandas después de la función/operación aplicada.
Ejemplo: Resta dos columnas en Pandas Dataframe
Python3
import pandas as pd import numpy as np data = np.arange(0, 20).reshape(4, 5) df = pd.DataFrame(data, index=['Row 1', 'Row 2', 'Row 3', 'Row 4'], columns=['Column 1', 'Column 2', 'Column 3', 'Column 4', 'Column 5']) df['diff_3_4'] = df.apply(lambda x: x['Column 3'] - x['Column 4'], axis=1) df
Producción:
Método 4: usar el método de asignación
El método de asignación() asigna nuevas columnas a un DataFrame, devolviendo un nuevo objeto (una copia) con las nuevas columnas agregadas a las originales.
Ejemplo: restar dos columnas en el marco de datos de Pandas
Python3
import numpy as np import pandas as pd data = np.arange(0, 20).reshape(4, 5) df = pd.DataFrame(data, index=['Row 1', 'Row 2', 'Row 3', 'Row 4'], columns=['Column 1', 'Column 2', 'Column 3', 'Column 4', 'Column 5']) df = df.assign(diff_1_5=df['Column 1'] - df['Column 5']) df
Producción :
Publicación traducida automáticamente
Artículo escrito por bobde_yagyesh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA