想要通过选择另一列中定义的公式来计算新列的值

时间:2019-07-26 18:04:25

标签: python pandas

我有一个df,其中n个列是动态计算的。在该df中,有一列定义了我需要应用什么公式来计算另一新列的值。该公式需要应用于该df的现有列

例如: df1

Col1  Col2 Col3 Col4(Formula)        Col5(Calculatedby executingformulain Col4
2017  12   2    Col2/col3            6
2018  14   7    Col2*Col3            98

所以我想要用Col4编写的任何公式都将在给定的现有列上执行,以便可以在每一行计算col5的新值

1 个答案:

答案 0 :(得分:5)

使用df.eval()

df['Col5']=np.diag(df.eval(df['Col4(Formula)']))
print(df)

   Col1  Col2  Col3 Col4(Formula) Col5
0  2017    12     2     Col2/Col3    6
1  2018    14     7     Col2*Col3   98