在Python中是否有任何包为使用NumPy数组的矢量化访问提供字典?我在找这样的东西:
>>> vector_dict = VectorizedDict({1: "One",
... 2: "Two",
... 3: "Three"},
... dtype_key=int, dtype_val="U5")
>>> a = np.array([1,2,3]),
>>> b = vector_dict[a]
>>> print(type(b))
np.ndarray
>>> print(b)
["One", "Two", "Three"]
虽然这个结果也可以通过迭代数组元素来实现,但是对于大型数组来说,迭代方法是相当低效的。在
编辑:
对于小型词典,我使用以下方法:
^{pr2}$虽然布尔掩码在迭代小字典时非常有效,但是对于大型字典(数千个键值paris)来说,它非常耗时。在
这里有两种方法-
如果使用
^{pr2}$vector_dict.keys()
获得的密钥已经排序,请跳过argsort()
并使用sidx
进行索引。或者,我们可以做一个简单的检查,得到修改后的版本,比如-样本运行-
Pandas数据结构为1D(^{} )、2D(^{} )和3D(^{} )数据实现此功能:
对于高维结构,有xarray。在
相关问题 更多 >
编程相关推荐