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

2024-05-18 06:33:30 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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。你知道吗

在此方面的任何帮助都将不胜感激。你知道吗


Tags: 文件数据函数代码nonefieldsgetdatetime
1条回答
网友
1楼 · 发布于 2024-05-18 06:33:30

我想你可以用^{}

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

相关问题 更多 >