pandas - 并行运行请求函数并在 pandas 数据框中返回结果
问题描述
我有以下功能,对于每个坐标系列,LONGITUDE
它LATITUDE
都会向服务发送请求。坐标来自df_uniqueLocs
数据框,结果加载到df_Results
数据框中。
输入 dfdf_uniqueLocs
如下所示:
LONGITUDE LATITUDE
0 -157.87295 21.32611
1 -157.85596 21.30131
2 -157.84403 21.29628
3 -157.84045 21.29157
4 -157.77337 21.27747
输出 dfdf_Results
如下所示:
LONGITUDE LATITUDE layerId layerName pixelVal
0 -157.87295 21.32611 4 ca 354
1 -157.85596 21.30131 18 us 734
2 -157.84403 21.29628 4 ca 5
3 -157.84045 21.29157 4 ca 3567
4 -157.77337 21.27747 5 za 56
这是我的功能:
def request_func(df_uniqueLocs, identifyUrl, payload, df_Results):
for index, row in df_uniqueLocs.iterrows():
x, y = row['LONGITUDE'], row['LATITUDE']
#print(x,y)
pointString = str(x) + ',' + str(y)
payload["geometry"] = pointString
payload['mapExtent'] = pointString + ',' + pointString
data = urlencode(payload).encode("utf-8")
request = Request(identifyUrl, data)
identPost = urlopen(request)
response = identPost.read()
identPost.close()
# load the response
results = loads(response)['results']
for res in results:
layerId = str(res['layerId'])
layerName = res['layerName']
values = res['attributes']
pixelVal = values['Pixel Value']
df_Results.loc[len(df_Results)] = [x, y, layerId, layerName, pixelVal]
return df_Results
如何让函数并行运行,然后将所有结果放回一个数据帧?
解决方案
推荐阅读
- c# - 使用 Moq 和接口进行单元测试
- php - 是否可以在 og 标签中为网站的不同页面添加自定义预览图像?
- java - 在 PlantUML 中呈现非 ASCII 字符所需的配置
- vba - 字代码 4605 中的错误 VBA“无法使用 SetWidth,因为对象引用了表格行的末尾。”
- python - TensorFlow 应用程序不断增加内存使用量
- apache-kafka - Kafka - 时间戳顺序
- android-studio-3.3 - Android 支持存储库管理器
- php - 如何从输入中获取价值并发送到路由?
- jquery - 我正在尝试根据数据表中数据库中的活动真假值显示未选中的复选框,但我无法做到这一点
- javascript - 从 slot-scope 获取数据