【发布时间】:2020-01-17 17:18:27
【问题描述】:
我正在尝试将函数应用于文件中的每一行,最终结果仅应用于文件中的第一行。如何将以下函数应用于每一行,以便打印语句为所有行提供应用函数
样本数据
cvdt35_timestamp_s gps_lat_dd gps_lon_dd coord
03:26.8 42.37659 -83.59011667 [42.3765899995963,-83.5901166667541]
03:27.8 42.37659667 -83.59011667 [42.3765966663758,-83.5901166667541]
03:28.8 42.37660667 -83.59012 [42.3766066670418,-83.5901200001438]
03:33.9 42.376665 -83.59017167 [42.3766650001208,-83.5901716664434]
03:35.9 42.37667167 -83.59020667 [42.3766716669003,-83.5902066667875]
03:36.9 42.37667167 -83.59021667 [42.3766716669003,-83.59021666646]
42:33.6 42.37667167 -83.59021667 [42.3766716669003,-83.59021666646]
42:41.8 42.37667167 -83.59021333 [42.3766716669003,-83.590213333567]
42:53.9 42.37682 -83.58996 [42.3768200000127,-83.5899599999189]
42:59.9 42.37697 -83.58992167 [42.3769700000683,-83.5899216666818]
import overpy
import pandas as pd
import numpy as np
df = pd.read_csv("/home/runner/sample.csv")
df.sort_values(by=['cvdt35_timestamp_s'],inplace=True)
api= overpy.Overpass()
box = 0.0005
with open("sample.csv") as f:
for row in df.index:
query = 'way('+str(df.gps_lat_dd.iloc[row]-box)+','+str(df.gps_lon_dd.iloc[row]-box)+','+str(df.gps_lat_dd.iloc[row]+box)+','+str(df.gps_lon_dd.iloc[row]+box)+') ["highway"]; (._;>;); out body;'
print (query)
我得到的结果如下,而不是值列表
way(42.37647,-83.59042167,42.37747,-83.58942167) [“高速公路”]; (._;>;);出体;
【问题讨论】:
-
您的 print(query) 超出了它所定义的循环。
标签: python-3.x pandas function loops