如何使用 Pandas apply() 函数对 API 进行异步调用

2023-11-30

我有大约 14,000 行数据框,并尝试通过调用 API 将一些数据填充到新列中。下面的代码检索预期的响应,但是,似乎每次迭代都等待响应进入下一行。

这是函数:

def market_sector_des(isin):
isin = '/isin/' + isin
return blp.bdp(tickers = isin, flds = ['market_sector_des']).iloc[0]

我在用xbbg调用 Bloomberg API。

.apply() 函数返回预期的响应,

df['new_column'] = df['ISIN'].apply(market_sector_des)

但每个响应大约需要 2 秒,如果有 14,000 行,则大约需要 8 小时。

有没有办法使这个应用函数异步,以便所有请求并行发送?我已经将 dask 视为替代方案,但是,我在使用它时也遇到了问题。


如果上述正是您想要做的,那么可以通过创建一个包含要发送的股票语法的列,然后将该列作为一系列通过 blpapi 传递来实现

df['ISIN_NEW'] = '/isin/' + df['ISIN']
isin_new = pd.unique(df['ISIN_NEW'].dropna())
mktsec_df = blp.bdp(tickers = isin_new, flds = ['market_sector_des'])

然后,您可以将新创建​​的 df 连接到现有 df,以便获得完整的列中的数字。

newdf = pd.merge(df, mktsec_df, how='left', left_on = 'ISIN_NEW', right_index = True )

这应该会导致一次调用,理想情况下会将速度降低到不到一分钟。如果可行请告诉我。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Pandas apply() 函数对 API 进行异步调用 的相关文章

随机推荐

  • 隐藏子菜单上的 CSS 计数器

    我正在尝试使用嵌套制作下拉菜单 ul 每一个 li 显示使用 CSS 计数器生成的数字 子菜单隐藏display none当没有悬停时 我的问题是当元素有时计数器不会增加display set to none 你知道 CSS 属性可以防止这
  • 我的数据有两个标题(变量类型和分组因子)。如何拆分标题并将分组因素转换为列? [复制]

    这个问题在这里已经有答案了 我的 csv 文件有两个标题 如下所示 Run 1 Run 1 Run 2 Run 2 Angle Light Angle Light a b c d e f g h 第一个标题给出测量编号 第二个标题给出测量类
  • 匹配查询中所有活动记录关系

    我需要一个 activerecord 查询来匹配 params 数组中的所有项目 假设用户有多个角色 每个角色都有一个名字 当我经过 演员 制作人 歌手 时 我希望查询返回具有所有这三个或更多角色的用户 但我下面的方法实现将返回至少有一个角
  • 使用 Core 动画为 StrokeColor 制作动画

    我正在尝试对 CAShapeLayar 的描边颜色属性进行动画处理 我浏览了文档 据说它是一个可动画的属性 该代码适用于对 postion y 进行动画处理 但不适用于对 strokeColor 进行动画处理 我很乐意获得任何帮助或建议 我
  • 在 C# 中将大数组与常量相乘/相加的高性能方法是什么?

    我有一个结构 类 在数组中保存大量数字 浮点数 双精度数 整数 字节 现在我想要有非常高性能的方法来在此数组上应用一些原始操作 加 减 除 乘一个常量 该数组位于一块连续的内存上 因此例如为了复制它 我使用 Buffer BlockCopy
  • 将位图和 Png 图像转换为文本的简单方法,反之亦然

    将位图和 Png 转换为字符串并再次转换的最简单方法是什么 我一直在尝试通过内存流等进行一些保存 但我似乎无法让它工作 看来我没说清楚 我想要的是能够将 Bitmap 类 其中包含图像 转换为系统字符串 从那里我希望能够将我的字符串放置一会
  • 多媒体按键的 Java 接口

    有人有在 Java 中与多媒体 或 Fn 功能 键交互的经验吗 关于 Java 中的多媒体按钮似乎有一个不完整的讨论here 还有一个图书馆 JIntelliType 可用于在Windows中注册全局热键 但仅适用于全局注册 不适用于媒体键
  • C 中的 UDP 套接字

    我正在解决课堂作业问题 我想启动一个 UDP 服务器来侦听文件请求 它打开文件并使用 UDP 将其发送回请求客户端 这是服务器代码 Create UDP Socket if sockfd socket AF INET SOCK DGRAM
  • VB.NET - 鼠标坐标

    我有一个 vb net 应用程序 我想知道如何在窗体上单击鼠标时找到指针 鼠标 的坐标 没什么可说的 所以我就这样吧 D Thanks 将鼠标坐标放入文本框中的非常简单的代码 Private Sub Form1 MouseClick ByV
  • 使用 PTVS、IronPython 和 MongoDB

    我想使用 PTVS Visual Studio 的 Python 工具 开发一个应用程序 我下载了 PTVS 插件和 IronPython for Visual Studio 2012 它运行得很好 我的问题是 我可以将 MongoDB 与
  • 为什么弹性项目不会缩小到超过内容大小?

    我有 4 个 Flexbox 列 一切正常 但是当我向列添加一些文本并将其设置为大字体大小时 由于 Flex 属性 它使列比应有的宽度更宽 我尝试使用word break break word它很有帮助 但是当我将列的大小调整到非常小的宽度
  • JsonArray.Parse(...) 错误

    我正在开发一个适用于 Windows 8 的新闻应用程序 使用 C XAML 不幸的是 我在下载 JSON Feed 后遇到了一个奇怪的错误 通过验证 http jsonlint com 异步 下载成功 然后我想解析结果 var items
  • Oracle 如何列出两个日期之间的月份的最后几天

    我设法获取两个日期之间的所有天数 但我想获取两个日期之间几个月的所有最后一天 使用一个请求 2 个日期之间的所有日期 select to date 01 01 2000 dd mm yyyy LEVEL 1 as jour from dua
  • Ruby:根据整数数组对对象数组进行排序

    这看起来相当简单 之前就应该问过 但我在 Stack Overflow 上找到的所有内容似乎都不起作用 我有一个包含 4 个对象的数组 我想按特定顺序对其进行重新排序 所以 它看起来像这样 array Obj1 Obj2 Obj3 Obj4
  • 从 android studio 打开项目文件夹?

    我知道这是一个微不足道的功能 但是 Android Studio 中是否有一个选项可以将项目文件夹打开到文件资源管理器 来自 AS 附注 始终可以按照 AS 窗口标题上显示的路径导航到项目文件夹 You can press ShiftShi
  • 嵌套参考字段

    为了检索设备类型 我使用一个将检索设备模型 然后使用另一个使用设备模型的字段 typeID 引用设备类型来检索设备类型 但它显示以下警告 警告 失败的道具类型 无效的道具翻译类型选择 提供给 ReferenceField 的布尔值 预期函数
  • 使用 asyncio 时,如何在关闭事件循环之前允许所有正在运行的任务完成

    我有以下代码 asyncio coroutine def do something periodically while True asyncio async my expensive operation yield from asynci
  • 如何在Python中打印三角形?

    我想做一个打印三角形的函数 如下图所示 用户可以插入三角形的行号 第一行的总长度必须是奇数 我尝试使用下面的代码 def triangle n k 2 n 2 for i in range 0 n for j in range 0 k pr
  • 如何在 datagridview 列中动态显示数字计时器(秒表)c#?

    我有datagridview 其数据源是datatable 我在 datagridview 有两列 及时命名 加载 datagridview 后 我想添加一个名为 DURATION 的新列 它是一个计时器列 即基于 IN TIME DURA
  • 如何使用 Pandas apply() 函数对 API 进行异步调用

    我有大约 14 000 行数据框 并尝试通过调用 API 将一些数据填充到新列中 下面的代码检索预期的响应 但是 似乎每次迭代都等待响应进入下一行 这是函数 def market sector des isin isin isin isin