包含太多数组的 Cythonizing 函数

问题描述

在下面的代码上运行 setup.py 需要几秒钟才能完成;但是,通过将数组数量增加到 20k,在 32 位 Windows XP 上运行安装程序 2 小时后不会生成 .pyd。我应该为数组使用特定的定义吗?

import numpy
import scipy.interpolate
from scipy.interpolate import interp2d
x = [1,2,3,4,5,6,7,8,9,10,11]
y = [0.1,0.2,.3,0.4,0.5,0.6,.7,0.8,.9,1,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9]

def interpolate(DATA,x_new,y_new):
    var1 = DATA[0]
    var2 = DATA[1]
    f = interp2d(y,x,var1,kind='linear')
    k1 = f(y_new,x_new)     
    f = interp2d(y,var2,kind='linear')
    k2 = f(y_new,x_new)   
    return (k1[0],k2[0])

def function(condition1,condition2,param1,param2):
    Data1_var1=[[6L,5L,8L,9L,3L,2L,1L,5.7,4.8,0],[5L,4L,9.5,7.2,5.5,[2L,6L,5.1,[8L,.8,.1,4.6,[6L,5.4,4.2,7L,6.3,5.2,4.1,[4L,8.4,6.8,5.6,4.4,9.2,3.5,[3L,8.3,.6,3.7,10L,8.9,7.7,6.5,8.1,6.9,.2,0]]
    Data1_var2=[[6L,0]]

    Data2_var1=[[9L,0]]
    Data2_var2=[[4L,[1L,0]]
    
if condition1:
    if condition2:
        out = interpolate(Data1,param2)
    else:
        out = interpolate(Data2,param2)          

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)