Cython编译报错:'float64_t[::1]'与'float64_t'比较类型不匹配
超大型Pandas DataFrame过滤的Cython化问题
你正在尝试将用于过滤1亿行超大型Pandas DataFrame的函数进行Cython化,当前核心逻辑是将DataFrame的Z、T、M列与单个值(如Z1、Z2等)做比较,后续计划扩展支持与一维数组逐行匹配的场景。
目前你已经通过df.query()配合numexpr,以及@jit装饰器实现了性能提升,但在转Cython时执行编译命令:
python setup.py build_ext --inplace
出现编译错误:
Error compiling Cython file: Invalid types for '>' (float64_t[::1], float64_t)
你已提供setup.py、pyproject.toml、module.pyx相关代码,同时有两个核心疑问:
- 当前代码中memoryview与连续数据的使用是否正确?
- 针对这种超大型DataFrame的过滤场景,有没有更优的方案建议?
内容的提问来源于stack exchange,提问作者Buzz B
相关产品推荐
相关产品推荐

