<p>我正试图加快我的代码</p>
<p>这是我的示例代码。(实际代码更复杂</p>
<pre><code>import pandas as pd
import time, math, random
length=10000
x = [random.randint(0,100) for _ in range(length)]
y = [random.randint(0,100) for _ in range(length)]
x_pd = pd.Series(data=x)
y_pd = pd.Series(data=y)
print(x)
print(y)
print(x_pd)
print(y_pd)
distance= 0
distance2= 0
t = time.time()
for k in range(1, len(x)):
distance += math.sqrt((x[k] - x[k-1])**2 + (y[k] - y[k-1])**2)
print("dist from list : %lf"% distance)
print("duration for compute moving distance = ", time.time()-t)
# compute by rolling
t = time.time()
for k in range(1, len(x_pd)):
distance2 += math.sqrt((x_pd[k] - x_pd[k-1])**2 + (y_pd[k] - y_pd[k-1])**2)
print("dist from pd.Series : %lf"% distance2)
print("duration for compute moving distance = ", time.time()-t)
</code></pre>
<p>正如你们在上面看到的,我有两个列表(或熊猫系列),它们是X,Y姿势列表。我想计算累计旅行距离</p>
<p>我认为如果长度更大,使用上面的熊猫计算会更慢,因为需要迭代</p>
<p>有没有比我想象的更快或更简单的计算方法?
谢谢大家!</p>