tac*_*yon 2 python dictionary numpy python-3.x numpy-ndarray
我有一个包含按特定顺序排列的字典键的ndarray.我想创建另一个包含相应键值的ndarray.必须保持订单.显而易见的方法是逐个元素迭代包含键的数组,但问题是没有办法事先知道数组的形状.
是否有可能压平关键字的ndarray并迭代它以生成平坦的数值,并最终在不损害订单的情况下解开它?
mydict = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5, 'f':6}
input_pattern = np.array([['a', 'f'], ['b', 'e'], ['c', 'd']])
expected_output = np.array([[1, 6], [2, 5], [3, 4]])
Run Code Online (Sandbox Code Playgroud)
注意:在上面的示例中,模式数组是2D,但可能并非总是如此.它也可能不包含字典的所有键.
你可以用np.vectorize
与dict.get
:
d = np.vectorize(mydict.get)
res = d(input_pattern)
print(res)
array([[1, 6],
[2, 5],
[3, 4]])
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
73 次 |
最近记录: |