【发布时间】:2021-01-20 11:40:44
【问题描述】:
有没有办法让自定义 C 函数作用于 pandas DF?我知道我可以将一个 c 函数包装在一个 python 函数中,并在逐行迭代中使用它,但这似乎效率低下。我知道 pandas 是用 c 编写的。我想要一种简单的方式来告诉熊猫“使用这个 c 函数”。这很幼稚,但是像这样
...
cFunc = get_c_function_some_how()
for i in range(1000):
df = df.use_c_function(cFunc)
use_df(df)
...
我的用例是我一遍又一遍地进行一组简单但计算量较大的计算,并且我想让这组特定的计算显着加快
编辑:我想以某种方式将整个 Pandas Dataframe 传递给 C 函数会很好,实际上迭代可能无论如何都应该发生在 C 内部,所以如果需要使用一次 python 包装的 c 函数,那么数据只是交给 C 进行计算,这似乎是一个很好的解决方案。我个人找不到有关执行此类操作的文档。
【问题讨论】:
-
我猜答案是“不”。 Thr 问题宁愿是“你的计算是否正确编写”,也许是“如果你改用 numpy 会怎样”
-
好点。这似乎很明显,但我最近做了很多优化,这使得这成为可能(我认为),所以这种方法在我的雷达下滑动
标签: python c python-3.x pandas cython