我有一个巨大的json对象,其中包含需要转换为numpy数组进行处理的二维坐标列表。
但是使用json.loads
和np.array()
太慢了。
有没有办法提高从json创建numpy数组的速度?
import json
import numpy as np
json_input = '{"rings" : [[[-8081441.0, 5685214.0], [-8081446.0, 5685216.0], [-8081442.0, 5685219.0], [-8081440.0, 5685211.0], [-8081441.0, 5685214.0]]]}'
dict = json.loads(json_input)
numpy_2d_arrays = [np.array(ring) for ring in dict["rings"]]
我会采取任何解决办法!
由于JSON语法非常接近Python语法,我建议您使用
ast.literal_eval
。可能更快试试看。告诉我们。
对于这个特定的数据,您可以尝试
最简单的答案是:
由于这避免了在python中显式地循环数组,您可能会看到一个适度的加速。如果您可以控制
json_input
的创建,那么最好以串行数组的形式写出来。版本是here。相关问题 更多 >
编程相关推荐