3
辞書のセットk
は、特定の評価のためにNumPy.arraysをループしたい形の{(i,j):NumPy.array}
という形式です。{tuple:NumPy.array}のルーピング辞書
次のように私はdictionarriesを作った:
datarr = ['PowUse', 'PowHea', 'PowSol', 'Top']
for i in range(len(dat)): exec(datarr[i]+'={}')
ので、私はいつも私は、文字列の元のリストをchangeingことで、コードの私の大きなセットに評価したいデータのセットを変更することができます。しかし、これは私の辞書をeval(k) for k in datarr
と呼ぶ必要があることを意味します。
その結果、私がやりたいループは一瞬のために次のようになります。
for i in filarr:
for j in buiarr:
for l in datarrdif:
a = eval(l)[(i, j)]
a[abs(a)<.01] = float('NaN')
eval(l).update({(i, j):a})
が、これを書くために非常に良くする方法はありますか?私は、次の試してみましたが、これは動作しませんでした:事前に
[eval(l)[(i, j)][abs(eval(l)[(i, j)])<.01 for i in filarr for j in buiarr for k in datarrdiff] = float('NaN')`
Thxを
@eurniro:すばらしい、これはまさに私が必要とするもので、辞書の辞書を作るという考え方だけでなく、np.putmask(...)の使用です! –