我有一组形式为{(i,j):NumPy.array}
的字典k
,我想在这些字典上循环NumPy.arrays公司为了某种评价。在
我做了如下词典:
datarr = ['PowUse', 'PowHea', 'PowSol', 'Top']
for i in range(len(dat)): exec(datarr[i]+'={}')
因此,我可以通过更改字符串的原始列表来更改要在更大的代码集中计算的数据集。但是,这意味着我必须以eval(k) for k in datarr
的身份来调用我的词典。在
因此,我现在要做的循环如下所示:
^{pr2}$但是有没有更好的方法来写这个呢?我试着跟踪,但没用:
[eval(l)[(i, j)][abs(eval(l)[(i, j)])<.01 for i in filarr for j in buiarr for k in datarrdiff] = float('NaN')`
提前还款
你为什么不把它们作为字典的字典来创建呢?在
^{pr2}$然后您可以避免所有
eval()
。在或者可能只是:
如果要将
abs(element) < .01
中所有字典值的元素设置为NaN。在相关问题 更多 >
编程相关推荐