Python | Pandas dataframe.eval()
Last Updated :
20 Nov, 2018
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.eval()
function is used to evaluate an expression in the context of the calling dataframe instance. The expression is evaluated over the columns of the dataframe.
Syntax: DataFrame.eval(expr, inplace=False, **kwargs)
Parameters:
expr : The expression string to evaluate.
inplace : If the expression contains an assignment, whether to perform the operation inplace and mutate the existing DataFrame. Otherwise, a new
DataFrame is returned.
kwargs : See the documentation for eval() for complete details on the keyword arguments accepted by query().
Returns: ret : ndarray, scalar, or pandas object
Example #1: Use eval()
function to evaluate the sum of all column element in the dataframe and insert the resulting column in the dataframe.
import pandas as pd
df = pd.DataFrame({ "A" :[ 1 , 5 , 7 , 8 ],
"B" :[ 5 , 8 , 4 , 3 ],
"C" :[ 10 , 4 , 9 , 3 ]})
df
|
Let’s evaluate the sum over all the columns and add the resultant column to the dataframe
df. eval ( 'D = A + B+C' , inplace = True )
df
|
Output :
Example #2: Use eval()
function to evaluate the sum of any two column element in the dataframe and insert the resulting column in the dataframe. The dataframe has NaN
value.
Note : Any expression can not be evaluated over NaN
values. So the corresponding cells will be NaN
too.
import pandas as pd
df = pd.DataFrame({ "A" :[ 1 , 2 , 3 ],
"B" :[ 4 , 5 , None ],
"C" :[ 7 , 8 , 9 ]})
df
|
Let’s evaluate the sum of column “B” and “C”.
df. eval ( 'D = B + C' , inplace = True )
df
|
Output :
Notice, the resulting column ‘D’ has NaN
value in the last row as the corresponding cell used in evaluation was a NaN
cell.
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...