对被屠宰的标题表示歉意。
我有一个指标数据库,其中包含指标标题、指标 ID、指标缩写和指标公式等字段。指标公式指示该指标是否需要计算其他指标。例如:
指标标题 | 公制 ID | 公制缩写 | 公制公式 |
---|---|---|---|
公制A | 234 | 马 | |
公制B | 567 | MB | |
公制C | 452 | MC | MA+MB |
公制D | 123 | 医学博士 | MC*MA |
我正在尝试实现一个递归函数,该函数评估度量公式是否不为空,以使用公式中的缩写来评估这些行的公式字段等等。一旦到达根节点,即度量公式为空的行,就会获取一个值并返回上一级。 有人可以为我指出研究此类算法的正确方向吗?
pandas.eval
。构建一个缩写字典:ID,并将其作为 eval
:传递给
local_dict
d = df.set_index('Metric Abbreviation')['Metric ID'].to_dict()
m = df['Metric Formula'].notna()
df.loc[m, 'Result'] = (df.loc[m, 'Metric Formula']
.apply(pd.eval, local_dict=d)
)
输出:
Metric Title Metric ID Metric Abbreviation Metric Formula Result
0 MetricA 234 MA None NaN
1 MetricB 567 MB None NaN
2 MetricC 452 MC MA+MB 801.0
3 MetricD 123 MD MC*MA 105768.0