Python is a great language for doing data analysis, primarily because of the fantastic ecosystem of data-centric python packages. Pandas is one of those packages and makes importing and analyzing data much easier.
Pandas dataframe.mul() function return multiplication of dataframe and other element- wise. This function essentially does the same thing as the dataframe * other, but it provides an additional support to handle missing values in one of the inputs.
Syntax: DataFrame.mul(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 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
Returns : result : DataFrame
Example #1: Use mul() function to find the multiplication of a dataframe with a series.
Note : For multiplication with series, dataframe axis used for multiplication must match series index on.
Python3
# importing pandas as pd import pandas as pd # Creating the first dataframe df1 = pd.DataFrame({ "A" :[ 14 , 4 , 5 , 4 , 1 ], "B" :[ 5 , 2 , 54 , 3 , 2 ], "C" :[ 20 , 20 , 7 , 3 , 8 ], "D" :[ 14 , 3 , 6 , 2 , 6 ]}) # Print the dataframe df1 |
Let’s create the series
Python3
# importing pandas as pd import pandas as pd # create series sr = pd.Series([ 3 , 2 , 4 , 5 , 6 ]) # Print series sr |
Lets use the dataframe.mul() function to perform multiplication
Python3
# find multiplication over the index axis df1.mul(sr, axis = 0 ) |
Output :
Example #2: Use mul() function to find the multiplication of two dataframes. One dataframe contains NA values.
Python3
# importing pandas as pd import pandas as pd # Creating the first dataframe df1 = pd.DataFrame({ "A" :[ 14 , 4 , 5 , 4 , 1 ], "B" :[ 5 , 2 , 54 , 3 , 2 ], "C" :[ 20 , 20 , 7 , 3 , 8 ], "D" :[ 14 , 3 , 6 , 2 , 6 ]}) # Creating the second dataframe with <code>Na</code> value df2 = pd.DataFrame({ "A" :[ 12 , 4 , 5 , None , 1 ], "B" :[ 7 , 2 , 54 , 3 , None ], "C" :[ 20 , 16 , 11 , 3 , 8 ], "D" :[ 14 , 3 , None , 2 , 6 ]}) # Print the second dataframe df2 |
Lets use the dataframe.mul() function to find the multiplication of two dataframes, also handle the missing values.
Python3
# fill the missing values with 100 df1.mul(df2, fill_value = 100 ) |
Output :
Notice, all the missing value cells has been filled with 100 before multiplication