我有一个很长的函数,我不会在这里包含它。函数的最后一行如下:
get_hourly_WSI_latlong_historical (datetime.date(2015,1,1), datetime.date(2015,2,1), 39.78681, -104.937, fields = None)上述函数和代码行成功运行。但是,我想创建一个具有多个经纬度坐标的数据框,这些坐标可以通过上面的代码传递。示例数据框文件:
lat        long         
42.281     83.743              
42.1784    87.9979              
40.7128    74.0059      我希望使用循环为列表中的每个经度/经度动态运行该函数。因此,上面数据框中的这些坐标将替换代码中当前具有的39.78681,-104.937。
在这方面的任何帮助都将非常感谢。
发布于 2016-12-03 21:47:24
我认为你可以使用apply
df1 = df.apply(lambda x: get_hourly_WSI_latlong_historical (datetime.date(2015,1,1), 
                                                            datetime.date(2015,2,1), 
                                                            x.lat, x.long, fields = None),
                                                            axis=1)示例:
df = pd.DataFrame({'lat':[42.281,42.1784,40.7128],
                   'long':[83.743,87.9979,74.0059]})
print (df)
       lat     long
0  42.2810  83.7430
1  42.1784  87.9979
2  40.7128  74.0059
def get_hourly_WSI_latlong_historical(date1,date2, lat,long, fields):
    return pd.Series([lat + 10, long - 10], index=['lat1','long1'])
df1 = df.apply(lambda x: get_hourly_WSI_latlong_historical (datetime.date(2015,1,1), 
                                                            datetime.date(2015,2,1), 
                                                            x.lat, x.long, fields = None),
                                                            axis=1)
print (df1)                                                            
      lat1    long1
0  52.2810  73.7430
1  52.1784  77.9979
2  50.7128  64.0059https://stackoverflow.com/questions/40948403
复制相似问题