Pandas DataFrame sub() method with examples

Spread the love

The sub() method in pandas subtracts a specified value from all the values in the dataframe. This is similar to dataframe - other, but with support to substitute a fill_value for missing data in one of the inputs.

Syntax –

dataframe.sub(other, axis, level, fill_value)

others – Any single or multiple element data structure, or list-like object.

axis – Whether to compare by the index (0 or ‘index’) or columns (1 or ‘columns’). For Series input, axis to match Series index on.

level – Broadcast across a level, matching Index values on the passed MultiIndex level.

fill_value – Fill existing missing (NaN) values, and any new element needed for successful DataFrame alignment, with this value before computation. If data in both corresponding DataFrame locations is missing the result will be missing.

Examples –

Let’s creates a dataframe.

import pandas as pd
import numpy as np

df = pd.DataFrame({'A':[1, 2, 3, 4, 5, np.nan],
                 'B':[6, 7, 8, 9, 10, np.nan]})

1 . Subtract a value –

Now, let’s say you want to subtract 5 from each values in the dataframe. One way of achieving this is

df - 5

Another way to subtract 5 from the dataframe is using the sub() method.


2. Fill missing values then subtract –

If you look at the dataframe, you can see that it contains some missing values. We can first fill these missing values using the fill_value parameter and then subtract the value from the dataframe.

df.sub(5, fill_value=0)

3 . Subtracting a Series –

You can also subtract a series from the dataframe using the sub() method.

# create a series
s1 = pd.Series([11, 12, 13, 14, 15, np.nan])

# subtract the series to the dataframe
df.sub(s1, axis=0)

Rating: 1 out of 5.

Leave a Reply