如何在Python中存储数字查找表(带标签)

rob*_*ntw 5 python numpy

我有一个科学模型,我在Python中运行,它产生一个查找表作为输出.也就是说,它产生一个多维"表",其中每个维度是模型中的参数,每个单元格中的值是模型的输出.

我的问题是如何最好地在Python中存储此查找表.我在每个可能的参数组合循环运行模型(使用奇妙的itertools.product功能),但我无法弄清楚如何最好地存储输出.

简单地将输出存储为a似乎是明智的ndarray,但我真的希望能够基于参数值而不仅仅是索引来访问输出.例如,而不是访问值,因为table[16][5][17][14]我更愿意使用变量名称/值以某种方式访问​​它们,例如:

table[solar_z=45, solar_a=170, type=17, reflectance=0.37]

或类似的东西.如果我能够迭代值并获得它们的参数值table[16]...,那就太棒了 - 也就是说,能够找出与solar_z = 45的输出相对应的值.

有没有一种合理的方法在Python中执行此操作?

hel*_*ker 1

如果您想按名称访问结果,那么您可以使用 python 嵌套字典而不是 ndarray,并使用jsonmodule 将其序列化在 .JSON 文本文件中。