gpt4 book ai didi

Python Pandas 全局 vs 传递变量

转载 作者:行者123 更新时间:2023-11-28 20:48:26 31 4
gpt4 key购买 nike

我正在创建一个“实时”进程,该进程从 SierraChart 更新的专有格式的 OHLCVTBA 文件中获取数据。读取数据并使用生成器创建数据框的代码发布在 pastebin 上。 [删除死链接]。

我意识到我的结构(新数据驱动)是错误的,我正准备重新组织它。 PhE's question and Wes's response使我朝着填充预填充数据框的方向发展,该数据框运行良好。我的问题是:

将我的数据帧和指针作为全局变量保存,还是将它们传入和传出使用它们的各种函数更快?此外,是否还有其他考虑因素应该插入这一选择?

谢谢。

最佳答案

Local variables are faster to access than global variables in python .

在 pandas 的上下文中,这意味着您应该将变量传递给有意义的函数(这意味着可以在函数内部更快地找到它们)。相反,python 中的函数调用很昂贵(如果你称它们很多),这就是为什么 numpy/pandas 尽可能使用矢量化函数。 显然,如果您在函数内部执行操作,则必须小心确保所有计算都在原地完成。

在担心速度之前,我通常会先以“pythonic”/“pandastic”方式让事情正常运行。然后使用 %timeit 看看它是否已经足够快(通常是这样)。添加单元测试。调整速度、%timeit、%prun 和 %timeit 一些。如果是大项目vbench .

关于Python Pandas 全局 vs 传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16929105/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com