我有一个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的新值
答案 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