您好,我使用的是python,我有一个如下的dataframe (df):
c param_values
0 abs_energy NaN
1 absolute_sum_of_changes NaN
2 agg_autocorrelation [{'f_agg': 'median', 'maxlag': 40}, {'f_agg': ...
3 agg_linear_trend [{'f_agg': 'max', 'chunk_len': 5, 'attr': 'int...
4 approximate_entropy [{'m': 2, 'r': 0.3}, {'m': 2, 'r': 0.1}, {'m':...我按如下方式迭代上述数据帧:
我有一个导入的from tsfresh.feature_extraction import feature_calculators as fc
for i,v in df[1:].iterrows():
dispatcher={v["calculators"]:eval(str(fc.v["calculators"]))}
t = eval(v["calculators"],dispatcher)
print(t)但是我得到了以下错误
AttributeError: module 'tsfresh.feature_extraction.feature_calculators' has no attribute 'v'我想要计算fc.abs_energy,fc.absolute_sum_of_changes,fc.agg_autocorrelation('median','40')等。我如何通过迭代上面的数据帧来找到它。我尝试过使用上面所示的eval,但徒劳无功。请推荐一些方法。如果我强调不足/过度强调了什么,请在评论中告诉我。谢谢
发布于 2019-06-07 16:07:57
我认为您必须尝试像这样导入:
from tsfresh.feature_extraction.feature_calculators import abs_energy,absolute_sum_of_changes,agg_autocorrelation
然后像这样在eval中使用它:
eval(str(v["calculators"]))
解决方案2
或者,您可以将DataFrame中的数据更改为类似于fc.abs_energy而不是abs_energy,并在不更改的情况下导入模块:
from tsfresh.feature_extraction import feature_calculators as fc
注意事项
不要忘记将()连接到字符串以调用所需的函数。例如,您必须像这样调用abs_energy函数:
eval('abs_energy()')
https://stackoverflow.com/questions/56490101
复制相似问题