Python|熊猫 dataframe.eval()
Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。
Pandas dataframe.eval()
函数用于在调用数据帧实例的上下文中评估表达式。该表达式在数据框的列上进行评估。
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
示例 #1:使用eval()
函数计算数据框中所有列元素的总和,并将结果列插入数据框中。
# importing pandas as pd
import pandas as pd
# Creating the dataframe
df=pd.DataFrame({"A":[1,5,7,8],
"B":[5,8,4,3],
"C":[10,4,9,3]})
# Print the first dataframe
df
让我们评估所有列的总和并将结果列添加到数据框中
# To evaluate the sum over all the columns
df.eval('D = A + B+C', inplace = True)
# Print the modified dataframe
df
输出 :
示例 #2:使用eval()
函数计算数据框中任意两列元素的总和,并将结果列插入数据框中。数据框具有NaN
值。
注意:任何表达式都不能在NaN
值上求值。所以相应的单元格也将是NaN
。
# importing pandas as pd
import pandas as pd
# Creating the dataframe
df=pd.DataFrame({"A":[1,2,3],
"B":[4,5,None],
"C":[7,8,9]})
# Print the dataframe
df
让我们评估列“B”和“C”的总和。
# To evaluate the sum of two columns in the dataframe
df.eval('D = B + C', inplace = True)
# Print the modified dataframe
df
输出 :
请注意,结果列“D”在最后一行具有NaN
值,因为在评估中使用的相应单元格是NaN
单元格。