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