Python:如何将lat/long坐标从数据帧传递或循环到函数中

Python:如何将lat/long坐标从数据帧传递或循环到函数中,python,function,loops,dataframe,iteration,Python,Function,Loops,Dataframe,Iteration,我有一个很长的函数,在这里我将不包括它。函数的最后一行如下所示: get_hourly_WSI_latlong_historical (datetime.date(2015,1,1), datetime.date(2015,2,1), 39.78681, -104.937, fields = None) 上述函数和代码行已成功运行。但是,我想创建一个具有多个lat/long坐标的数据帧,这些坐标可以通过上面的代码传递。示例数据帧文件: lat long 42.2

我有一个很长的函数,在这里我将不包括它。函数的最后一行如下所示:

get_hourly_WSI_latlong_historical (datetime.date(2015,1,1), datetime.date(2015,2,1), 39.78681, -104.937, fields = None)
上述函数和代码行已成功运行。但是,我想创建一个具有多个lat/long坐标的数据帧,这些坐标可以通过上面的代码传递。示例数据帧文件:

lat        long         
42.281     83.743              
42.1784    87.9979              
40.7128    74.0059      
我想使用循环为列表中的每个lat/long动态运行函数。因此,上面数据框中的坐标将替换代码中的39.78681,-104.937

在此方面的任何帮助都将不胜感激

我认为您可以使用:

样本:

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.0059

谢谢你的快速回复!我试试看
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.0059