【发布时间】:2020-01-02 06:31:47
【问题描述】:
我想为数百万个数据创建一个使用 2D ndarray 的字典。
寻找一种pythonic和高性能的方式来实现这一目标
我的 ndarray:
格式:[id, origin_lat, origin_lon, dest_lat,dest_lon, 距离]
my_array = np.array([[245, 32.45,63.89,72.1,63.57,123.45],
[246, 61.73,42.71,75.54,-81.69,16.32]])
预期输出:
my_dict = {
245: {
'origin_lat_lon': {
'lat': 32.45,
'lon': 63.89
},
'dest_lat_lon': {
'lat': 72.1,
'lon': 63.57
},
'distance': 123.45
},
246: {
'origin_lat_lon': {
'lat': 61.73,
'lon': 42.71
},
'dest_lat_lon': {
'lat': 75.54,
'lon': -81.69
},
'distance': 16.32
}
}
my_list = [{'lat': 32.45, 'lon': 63.89},
{'lat': 72.1, 'lon': 63.57},
{'lat': 61.73, 'lon': 42.71},
{'lat': 75.54, 'lon': -81.69}]
我的代码:
my_dict = dict()
my_list = list()
for arr in my_array:
origin_lat_lon = {'lat': arr[1],
'lon': arr[2]}
dest_lat_lon = {'lat': arr[3],
'lon': arr[4]}
value = {'origin_lat_lon':origin_lat_lon,'dest_lat_lon':dest_lat_lon,'distance':arr[5]}
my_dict[int(arr[0])]=value
my_list.append(origin_lat_lon)
my_list.append(dest_lat_lon)
【问题讨论】:
-
@Chris 你说得对,刚刚更新了预期的输出
标签: python numpy dictionary