我想知道是否有一种简单的方法来创建一个类来处理数字的numpy数组的整数和关键字索引。python numpy array/dict多重继承
最终目标是有一个numpy数组,我也可以使用每个变量的名称进行索引。 例如,如果我有列表
import numpy as np
a = [0,1,2,3,4]
names = ['name0','name1','name2','name3','name4']
A = np.array(a)
我想能够得到A的值容易地与(例如)A [“NAME1”]的呼叫,但在阵列保存所有一个numpy数组的功能。
谢谢!
彼得
编辑:
非常感谢您的帮助,我会尽量使用目的更加清晰!我有一组现成的代码,它使用一个numpy数组来存储和应用一个变量向量。我的矢量有大约30个条目。
当我想查看特定变量的值,或者想要对其中一个变量进行更改时,我必须记住哪个条目对应哪个变量(条目的顺序或数量不一定一旦数组被创建就改变)。现在我用字典来跟踪。例如,我有一个具有30个值的numpy数组'VarVector'。 “vmax”是条目15,值为0.432。然后我将有一个包含30个'VarDict'键的并发字典,这样VarDict [entry] = index。这样我可以通过链接调用
VarVector [VarDict [“VMAX”]]找到VMAX的值
这将返回0.432
我想知道是否有将是一个简单的好方法结合这两种结构,例如VarVector [15](兼容性)和VarVector [“vmax”](为了方便我)将指向相同的数字。
谢谢! 彼得
numpy数组的点在于它们用C编写,因此速度很快。如果你这样做,你会失去numpy数组的好处 - 你也可以使用Python列表! – katrielalex 2012-01-17 22:33:22
你能给出一个理由_why_你想这样做吗? – katrielalex 2012-01-17 22:33:57
@katrielalex - 不一定... numpy数组的'__getitem__'已经很慢了。通过添加它,你不会显着减慢速度。然而,这是一个相当常见的用例,并且已经完成了几次('pandas'和'larry')。看看这个比较:http://scipy.org/StatisticalDataStructures在某些情况下,使用“标记轴”或“标记项”是一件好事。 – 2012-01-18 00:06:52