qua*_*ash 3 python dictionary numpy dataframe pandas
我有4个列表,其中元素是一对一映射的.有成千上万的元素.我想创建一个dict,为每个元素提供4个属性,然后我想将这些dicts放入列表中.(我的最终目标是创建一个pandas DataFrame并将其另存为HDF5文件.)
是否有一种简单的内存效率方法来执行此操作,可能使用zip()和dict()而不是for循环?
作为Python的工作示例,请考虑:
list1 = ['obj1','obj2','obj3']
list2 = ['cat','dog','tree']
list3 = [7,8,9]
list4 = ['red','green','blue']
Run Code Online (Sandbox Code Playgroud)
所以我的想法是,最后我想要一个看起来像的dicts列表
[{'obj':'obj1','type':'cat','num':7,'color':'red'},
{'obj':'obj2','type':'dog','num':8,'color':'green'},
{'obj':'obj3','type':'tree','num':9,'color':'blue'}]
Run Code Online (Sandbox Code Playgroud)
由于您标记pandas,通过使用to_dict
pd.DataFrame({'obj':list1,'type':list2,'num':list3,'color':list4}).to_dict('r')
Out[1204]:
[{'color': 'red', 'num': 7, 'obj': 'obj1', 'type': 'cat'},
{'color': 'green', 'num': 8, 'obj': 'obj2', 'type': 'dog'},
{'color': 'blue', 'num': 9, 'obj': 'obj3', 'type': 'tree'}]
Run Code Online (Sandbox Code Playgroud)