擅长:python、mysql、java
<p>我自己也是一个学习者,但你的问题有点不清楚,我的理解是你想要坐标之间的距离,以及最小值,现在为了将一个数据帧的纬度和经度值与另一个数据帧的最大纬度和经度进行减法,你想要迭代…所以…这是我尝试过的</p>
<pre><code>import pandas as pd
import numpy as np
df1 = {
'ID':['A','B','C','D'],
'LAT':[1,2,3,4],
'LONG':[5,6,7,8],
}
df2 = {
'ID':['E','F','G'],
'LAT':[9,10,11],
'LONG':[12,13,14],
}
df1 = pd.DataFrame(df1)
df2 = pd.DataFrame(df2)
</code></pre>
<p>输出:</p>
<pre><code> ID LAT LONG
0 A 1 5
1 B 2 6
2 C 3 7
3 D 4 8
ID LAT LONG
0 E 9 12
1 F 10 13
2 G 11 14
</code></pre>
<p>现在,对于迭代,我从答案<a href="https://stackoverflow.com/questions/16476924/how-to-iterate-over-rows-in-a-dataframe-in-pandas?rq=1">here</a>中得到了一些帮助:</p>
<pre><code>for index, coor in df1.iterrows():
print(coor['LAT'] - df2['LAT'].max(), coor['LONG'] - df2['LONG'].max())
</code></pre>
<p>输出将是:</p>
<pre><code>-10 -9
-9 -8
-8 -7
-7 -6
</code></pre>
<p>但我想应用循环会让事情变得复杂。您可以使用其他方法再次将其转换为数据帧,但我希望这会有所帮助</p>