我有一本字典,里面有一些函数表达式作为值。除了中间部分,每个值非常相似。在下面的示例中,长公式中只有earn_yld
、free_cash_flow_yield
和eps_growth
不同
factor_bql = {
"ltm_earnings_yield": bq.func.dropna(bq.data.earn_yld(as_of_date=bq.func.RANGE(params['start'],params['end']))),
"ltm_fcf_yield": bq.func.dropna(bq.data.free_cash_flow_yield(as_of_date=bq.func.RANGE(params['start'],params['end']))),
'ltm_eps_growth': bq.func.dropna(bq.data.eps_growth(as_of_date=bq.func.RANGE(params['start'],params['end'])))
}
有没有办法写一个函数或变量来简化字典中的值
def simple_formula(xyz):
... ...
factor_bql = {
"ltm_earnings_yield": simple_formula('earn_yld'),
"ltm_fcf_yield": simple_formula('free_cash_flow_yield'),
'ltm_eps_growth': simple_formula('eps_growth')
}
假设bq.data是某个对象:
您可以使用
globals
函数通过其名称的字符串表示来调用当前模块中的函数我会用以下方法来做:
因此,函数本身(不是它们的名称)是
simple_formula
的参数相关问题 更多 >
编程相关推荐