Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python最有效的重新排列Dict的numpy数组的方法_Python_Numpy_Dictionary - Fatal编程技术网

Python最有效的重新排列Dict的numpy数组的方法

Python最有效的重新排列Dict的numpy数组的方法,python,numpy,dictionary,Python,Numpy,Dictionary,以下代码创建此格式的dict {'a': array([1, 2...1000]), 'b': array([1, 2...1000]).... old_dict = dict(a=np.array([]), b=np.array([]), c=np.array([]), new_dict=np.array([]), e=np.array([]), f=np.array([]),

以下代码创建此格式的dict

{'a': array([1, 2...1000]), 'b': array([1, 2...1000])....

old_dict = dict(a=np.array([]),
           b=np.array([]),
           c=np.array([]),
           new_dict=np.array([]),
           e=np.array([]),
           f=np.array([]),
           g=np.array([]),
           h=np.array([]))

for x in range(10000):
    old_dict['a'] = np.append(old_dict['a'], x)
    old_dict['b'] = np.append(old_dict['b'], x)
    old_dict['c'] = np.append(old_dict['c'], x)
    old_dict['d'] = np.append(old_dict['d'], x)
    old_dict['e'] = np.append(old_dict['e'], x)
    old_dict['f'] = np.append(old_dict['f'], x)
    old_dict['g'] = np.append(old_dict['g'], x)
    old_dict['h'] = np.append(old_dict['h'], x)
我想把这个dict转换成如下的dict列表

[{'a': 1, 'b': 1....}, {'a': 2, 'b': 2....},.....]
我已经想出了这个密码

new_list_dict = []
for i, (key, val) in enumerate(old_dict.items()):
   _d = {}
   for k, v in old_dict.items():
      _d[k] = v[i]
   new_list_dict.append(_d)

但是你能推荐最快的(矢量化的)方法吗?

items()
是最接近“矢量化”访问字典的方法。您不能将
d[k]=v
字典设置“矢量化”,尽管我相信有一种方法可以从键列表和值列表创建字典(我不做高级字典工作)。值得一提的是,您最初创建字典的速度很慢<代码>np。在循环中追加速度很慢。列表附加更好。您有兴趣创建具有这些精确数字的代码吗?或者数字1到1000只是真实数据的替代品?它们是真实数据的替代品,真实数据的值是字符串、整数和浮点的混合体。(这些数据最初都是在一个我因性能差而迁移掉的文件中)最初的dict是以一种完全不同的方式创建的,我很高兴它是如何创建的。关于
k,V=old_dict.keys(),old_dict.values()
[dict(zip(k,V))for V in zip(*V)]