Python | Pandas dataframe.sub ()

The Pandas function dataframe.sub() is used to find the subtraction of data and other elements element by element. This function is essentially the same as for dataframe - other but with support for replacing missing data in one of the inputs.

Syntax : DataFrame.sub (other, axis = 'columns', level = None, fill_value = None)

Parameters:
other: Series, DataFrame, or constant
axis: For Series input, axis to match Series index on
level: Broadcast across a level , matching Index values ​​on the passed MultiIndex leve
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.

Returns: result: DataFrame

Example # 1: Use the sub () function to subtract each element of the data frame with the corresponding element in the series.

# import pandas as pd

import pandas as pd

 
# Create data frame

df = pd.DataFrame ({ "A" : [ 1 , 5 , 3 , < code class = "value"> 4 , 2 ],

"B" : [ 3 , 2 , 4 , 3 , 4 ], 

"C" : [ 2 , 2 , 7 , 3 , 4 ], 

"D" : [ 4 , 3 , 6 , 12 , 7 ]}, 

index = [ "A1" , "A2" , "A3" , "A4" , "A5" ])

 
# Print the data frame
df

Let's create a series

# import pandas as pd

import pandas as pd

 
# Create series

sr = pd.Series ([ 12 , 25 , 64 , 18 ], index = [ "A" , "B" , "C" , "D" ])

 
# Print series
sr

Let's use the dataframe.sub () function to subtract.

# equivalent to df - sr

df.sub (sr, axis = 1 )

Output:

Example # 2: Use the sub () function to subtract each item in the data frame with the corresponding item in the other data frame

# import pandas as pd

import pandas as pd

 
# Create first data frame

df1 = pd.DataFrame ({ "A" : [ 1 , 5 , 3 , 4 , 2 ],

"B" : [ 3 , 2 , 4 , 3 , 4 ],

" C " : [ 2 , 2 , 7 , 3 , 4 ],

"D" : [ 4 , 3 , 6 , 12 , 7 ]}, 

  index = [ "A1" , "A2" , "A3" , "A4" , " A5 " ])

  
# Create second data frame

df2 = pd.DataFrame ({ "A" : [ 10 , 11 , 7 , 8 , 5 ],

  "B" : [ 21 , 5 , 32 , 4 , 6 ], 

  " C " : [ 11 , 21 , 23 , 7 , 9 ],

"D" : [ 1 , 5 , 3 , 8 , 6 ]},

index = [ "A1" , "A2" , " A3 " , " A4 " , "A5" ])

 
# subtract df2 from df1
df1.sub (df2)

Output:

Note that each element of the df1 data frame has been subtracted from the corresponding the next element in df2.





Get Solution for free from DataCamp guru