我正在创建一个"实时"流程,该流程从SierraChart更新的专有格式化OHLCVTBA文件中获取数据.使用生成器读取数据并创建数据帧的代码发布在pastebin上
我意识到我的结构(新数据驱动)是错误的,我即将重新组织它. PhE的问题和Wes的回应让我朝着填充预先填充的数据框架的方向发挥了作用.我的问题是:
将我的数据帧和指针保存为全局变量或将它们传递给使用它们的各种函数是否更快?此外,还有其他考虑应该推动这一选择吗?
谢谢.
在pandas的上下文中,这意味着你应该将变量传递给有意义的函数(这意味着它们可以在函数内更快地找到).相反,python中的函数调用很昂贵(如果你调用它们很多),这就是为什么numpy/pandas尽可能使用向量化函数.显然,如果你在函数内部做事,你必须小心确保所有的计算都在现场完成.
在担心速度之前,我通常会以"pythonic"/"pandastic"的方式让事情先行.然后使用%timeit并查看它是否已经足够快(通常是).添加unittest(s).调整速度,%timeit%prun %timeit等等.如果这是一个大项目vbench.
| 归档时间: |
|
| 查看次数: |
1335 次 |
| 最近记录: |