Python Pandas dataframe.eval() Function:
Syntax:
DataFrame.eval(expr, inplace=False, **kwargs)
Parameters:
expr :
The string of expression to evaluate.
inplace :
If the expression involves an assignment, whether the action should be performed in situ and the existing DataFrame changed. If not, a new DataFrame is returned.
kwargs :
For a complete list of the keyword parameters accepted by query(), see the eval() documentation.
Return Value:
ret : ndarray, scalar, or pandas object
Pandas dataframe.eval() Function in Python
Example1
Approach:
- Import pandas module using the import keyword.
- Pass some random key-value pair(dictionary), index list as arguments to the DataFrame() function of the pandas module to create a dataframe
- Store it in a variable.
- Print the given dataframe
- Add both the firstyear_marks, secondyear_marks columns of the dataframe and pass it as a new column, inplace = True as the arguments to the eval()function to perform addition operation and add it as new column to the dataframe
- Print the dataframe after modification.
-
The Exit of the Program.
Below is the implementation:
# Import pandas module using the import keyword. import pandas as pd # Pass some random key-value pair(dictionary), index list as arguments to the # DataFrame() function of the pandas module to create a dataframe # Store it in a variable. data_frme = pd.DataFrame({ "firstyear_marks": [71, 60, 35, 85], "secondyear_marks": [80, 40, 25, 90]}, index= ["virat", "nick" , "jessy", "sindhu"] ) # Print the given dataframe print("The given Dataframe:") print(data_frme) print() # Add both the firstyear_marks, secondyear_marks columns of the dataframe # and pass it as a new column, inplace = True as the arguments to the # eval()function to perform addition operation and add it # as new column to the dataframe data_frme.eval('sum = firstyear_marks +secondyear_marks', inplace = True) # Print the dataframe after modification print("The dataframe after adding 'sum' column:") data_frme
Output:
The given Dataframe: firstyear_marks secondyear_marks virat 71 80 nick 60 40 jessy 35 25 sindhu 85 90
Example2
Here, the given dataframe has NaN values. Over NaN values, no expression can be evaluated. As a result, the associated cells will also be NaN.
Approach:
- Import pandas module using the import keyword.
- Pass some random key-value pair(dictionary), index list as arguments to the DataFrame() function of the pandas module to create a dataframe
- Store it in a variable.
- Print the given dataframe
- Add both the firstyear_marks, secondyear_marks columns of the dataframe and pass it as a new column, inplace = True as the arguments to the eval()function to perform addition operation and add it as new column to the dataframe
- Here it returns NaN value inplace of None and do not perform addition operation on NaN values.
- Print the dataframe after modification.
-
The Exit of the Program.
Below is the implementation:
# Import pandas module using the import keyword. import pandas as pd # Pass some random key-value pair(dictionary), index list as arguments to the # DataFrame() function of the pandas module to create a dataframe # Store it in a variable. data_frme = pd.DataFrame({ "firstyear_marks": [71, None, 35, 85], "secondyear_marks": [80, 40, 25, None]}, index= ["virat", "nick" , "jessy", "sindhu"] ) # Print the given dataframe print("The given Dataframe:") print(data_frme) print() # Add the both the firstyear_marks, secondyear_marks columns of the dataframe # and pass it as a new column, inplace = True as the arguments to the # eval()function to perform addition operation and add it # as new column to the dataframe # Here it returns NaN value inplace of None and do not perform addition # operation on NaN values. data_frme.eval('sum = firstyear_marks +secondyear_marks', inplace = True) # Print the dataframe after modification print("The dataframe after adding 'sum' column:") data_frme
Output:
The given Dataframe: firstyear_marks secondyear_marks virat 71.0 80.0 nick NaN 40.0 jessy 35.0 25.0 sindhu 85.0 NaN