Sunday, November 17, 2024
Google search engine
HomeLanguagesHow to Subtract Two Columns in Pandas DataFrame?

How to Subtract Two Columns in Pandas DataFrame?

In this article, we will discuss how to subtract two columns in pandas dataframe in Python.

Dataframe in use:

Method 1: Direct Method 

This is the __getitem__ method syntax ([]), which lets you directly access the columns of the data frame using the column name.

Example: Subtract two columns in Pandas dataframe

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']


Output: 

Method 2: Defining a function

We can create a function specifically for subtracting the columns, by taking column data as arguments and then using the apply method to apply it to all the data points throughout the column. 

Example: Subtract two columns in Pandas dataframe

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)


Output : 

Method 3: Using apply()

Since the operation we want to perform is simple we can you can directly use the apply() method without explicitly defining a function. Provide the axis argument as 1 to access the columns. 

Syntax:

s.apply(func, convert_dtype=True, args=())

Parameters:

  • func: .apply takes a function and applies it to all values of pandas series.
  • convert_dtype: Convert dtype as per the function’s operation.
  • args=(): Additional arguments to pass to function instead of series.

Return Type: Pandas Series after applied function/operation.

Example: Subtract two columns in 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


Output:

Method 4: Using the Assign method

assign() method assign new columns to a DataFrame, returning a new object (a copy) with the new columns added to the original ones. 

Example: Subtract two columns in Pandas dataframe

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


Output : 

Dominic Rubhabha-Wardslaus
Dominic Rubhabha-Wardslaushttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Recent Comments