Python | Pandas dataframe.add()

19 Feb, 2021
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.
Dataframe.add() method is used for addition of dataframe and other, element-wise (binary operator add). Equivalent to dataframe + other, but with support to substitute a fill_value for missing data in one of the inputs.
Syntax: DataFrame.add(other, axis=’columns’, level=None, fill_value=None)
Parameters:
other :Series, DataFrame, or constantaxis :{0, 1, ‘index’, ‘columns’} For Series input, axis to match Series index onfill_value : [None or float value, default None] Fill missing (NaN) values with this value. If both DataFrame locations are missing, the result will be missing.level : [int or name] Broadcast across a level, matching Index values on the passed MultiIndex level
Returns: result DataFrame
# Importing Pandas as pdimport pandas as pd  # Importing numpy as npimport numpy as np  # Creating a dataframe# Setting the seed value to re-generate the result.np.random.seed(25)  df = pd.DataFrame(np.random.rand(10, 3), columns =['A', 'B', 'C'])  # np.random.rand(10, 3) has generated a# random 2-Dimensional array of shape 10 * 3# which is then converted to a dataframe  df
Note: add() function is similar to ‘+’ operation but, add() provides additional support for missing values in one of the inputs.
 
# We want NaN values in dataframe. # so let's fill the last row with NaN valuedf.iloc[-1] = np.nan  df
Adding a constant value to the dataframe using add() function:
# add 1 to all the elements# of the data framedf.add(1)  
Notice the output above, no addition took place for the nan cells in the df dataframe.add() function has an attribute fill_value. This will fill the missing value(Nan) with the assigned value. If both dataframe values are missing then, the result will be missing.
Let’s see how to do it.
# We have given a default value# of '10' for all the nan cellsdf.add(1, fill_value = 10)
All the nan cells has been filled with 10 first and then 1 is added to it. Adding Series to Dataframe:
For Series input, the dimension of the indexes must match for both data frame and series.
# Create a Series of 10 valuestk = pd.Series(np.ones(10))  # tk is a Series of 10 elements# all filled with 1
# Add tk(series) to the df(dataframe)# along the index axisdf.add(tk, axis ='index')
Adding one data frame with other data frame
# Create a second dataframe# First set the seed to regenerate the resultnp.random.seed(10)  # Create a 5 * 5 dataframedf2 = pd.DataFrame(np.random.rand(5, 5), columns =['A', 'B', 'C', 'D', 'E'])  df2
Let’s perform element-wise addition of these two data frames
df.add(df2)
Notice the resulting dataframe has dimension 10*5 and it has nan value in all those cells for which either of the dataframe has nan value.
Let’s fix it –
# Set a default value of 10 for nan cells# nan value won't be filled for those cells# in which both data frames has nan valuedf.add(df2, fill_value = 10)
Python | Pandas dataframe.add() | GeeksforGeeks - YouTubeGeeksforGeeks529K subscribersPython | Pandas dataframe.add() | GeeksforGeeksWatch laterShareCopy linkInfoShoppingTap to unmuteIf playback doesn't begin shortly, try restarting your device.More videosMore videosYou're signed outVideos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer.CancelConfirmSwitch cameraShareInclude playlistAn error occurred while retrieving sharing information. Please try again later.Watch on0:000:000:00 / 4:23•Live•<div class="player-unavailable"><h1 class="message">An error occurred.</h1><div class="submessage"><a href="https://www.youtube.com/watch?v=zYmQ3D-HDqY" target="_blank">Try watching this video on www.youtube.com</a>, or enable JavaScript if it is disabled in your browser.</div></div>
Python pandas-dataFrame
Python pandas-dataFrame-methods
Python-pandas
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python Dictionary
Different ways to create Pandas Dataframe
Enumerate() in Python
How to Install PIP on Windows ?
*args and **kwargs in Python
Python Classes and Objects
Python OOPs Concepts
Convert integer to string in Python
Introduction To PYTHON
How to drop one or multiple columns in Pandas Dataframe