我有两个csv文件,第一个(station.csv)有两列经纬度,第二个(catalog.csv有5列,还有两列经纬度)我已使用geopy.distance.distance计算了两点之间的距离,但当我尝试迭代文件以获取catalog.csv中每个lat long到站点的距离时,ot始终会给我最后一个值。理想情况下,输出将添加与桩号一样多的列,因此对于catalog.csv中的每个点,我将与给定桩号保持一定距离
预期产量 ctlg.csv,包含原始数据和29个新列,以及与每个sts的距离
时间UTC、纬度、经度、震级、距离1…29
import pandas as pd
import geopy.distance
from pandas.core.frame import DataFrame
ctlg1 = pd.read_csv('ctlg1.csv', sep=',')
sts = pd.read_csv('stations.csv', sep=',')
for row1 in sts.iterrows():
coords_1 = (row1[1][1], row1[1][2])
for row2 in ctlg1.iterrows():
coords_2 = (row2[1][4], row2[1][5])
distance = geopy.distance.distance((coords_1),(coords_2))
data = [distance]
df = pd.DataFrame(data)
df.to_csv("ctlg.csv")
在计算嵌套的
for
循环内的距离后,将其分配给变量data
但是在每次迭代之后,数据的值都会被覆盖。所以自然地,
data
的最终值将是对应于最后一个坐标的距离相关问题 更多 >
编程相关推荐