寻找一些帮助,了解如何优化一些数组处理,针对一些postgis兼容的数据类型。输入数据如下所示:
{
"items": [
{
"id": 10000,
"coords": [[644, 1347, 1], [653, 1353, 1], [637, 1358, 1], [633, 1362, 1]]
}
]
}
以下是我尝试过的:
^{pr2}$这是输出:
file load time:
8.29696655273e-05
array creation:
2.86102294922e-06
python array string processing time:
1.09672546387e-05
python array ppygis:
8.10623168945e-06
numpy array creation:
1.31130218506e-05
numpy array string processing time:
0.000116109848022
numpy array ppygis:
3.60012054443e-05
为什么使用numpy数组的操作比普通python数组慢得多?在
一般来说,numpy数组上的迭代操作比列表上的等价操作慢。部分原因是从列表创建数组需要时间,无论是初始创建还是中间步骤。当您对Numpy数组执行编译操作时,Numpy数组获得了速度优势,即迭代以编译速度而不是解释速度进行。在
在您的示例中,字典源并不重要
做一个简单的任务,将1加到所有值上:
^{pr2}$字符串格式大小写:
或者用列表理解代替地图:
在
narr.tolist()
上执行相同的操作几乎一样好,而且比直接迭代narr
要好。在[c for c on narr]
生成一个由4个数组组成的列表;[str(i) for i in c]
然后需要对这些子数组中的每一个进行迭代。在从numpy数组中生成一个
Point
对象的列表是对该结构的一种不良使用。在您可以创建一个
structured
数组,并访问整组点的“x”值。当你想处理整个结构,或者至少整个行和列时,这就是键使用数组。在相关问题 更多 >
编程相关推荐