我有以下数组:
column_names = ['id', 'temperature', 'price']
三个numpy数组如下:
idArry = ([1,2,3,4,....])
tempArry = ([20.3,30.4,50.4,.....])
priceArry = ([1.2,3.5,2.3,.....])
我想将上面的内容组合成一个字典,如下所示:
table_dict = ( {'id':1, 'temperature':20.3, 'price':1.2 },
{'id':2, 'temperature':30.4, 'price':3.5},...)
我可以使用for循环和append来创建字典,但列表是大约15000行.有人可以告诉我如何使用python zip功能或其他更高效,快捷的方式来实现上述要求吗?
最佳答案 我来看看pandas包的功能.特别是有一种
pandas.DataFrame.to_dict
方法.
我相信对于大型数组,这种方法应该非常快(尽管我愿意让zip方法更有效).
在下面的示例中,我首先从数组中构造一个pandas数据帧,然后使用to_dict方法.
import numpy as np
import pandas as pd
column_names = ['id', 'temperature', 'price']
idArry = np.array([1, 2, 3])
tempArry = np.array([20.3, 30.4, 50.4])
priceArry = np.array([1.2, 3.5, 2.3])
df = pd.DataFrame(np.vstack([idArry, tempArry, priceArry]).T, columns=column_names)
table_dict = df.to_dict(orient='records')