如何将多个numpy数组合并到字典列表中

我有以下数组:

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')
点赞