草庐IT

scipy-spatial

全部标签

python - curve_fit 的限制值(scipy.optimize)

我正在尝试使用curve_fit将逻辑增长曲线拟合到我的数据,并使用以下函数作为输入。deflogistic(x,y0,k,d,a,b):ifb>0anda>0:y=(k*pow(1+np.exp(d-(a*b*x)),(-1/b)))+y0elifb>=-1orb如您所见,我使用的函数对它可以接受的参数a和b的值有一些限制。关于如何处理不正确的值的任何猜测?输入函数应该引发异常还是返回虚拟值?提前致谢。 最佳答案 当参数超出允许范围时,返回一个非常大的数字(与要拟合的数据相去甚远)。这将(希望)惩罚这种参数选择,以至于curve_

python - 用 numpy.NaN 初始化 scipy.sparse 矩阵的最快方法是什么?

我想用numpy数组初始化一个稀疏矩阵。numpy数组包含NaN作为我程序的零,初始化稀疏矩阵的代码如下:a=np.array([[np.NaN,np.NaN,10]])zero_a=np.array([[0,0,10]])spr_a=lil_matrix(a)zero_spr_a=lil_matrix(zero_a)printrepr(spr_a)printrepr(zero_spr_a)输出是1x3sparsematrixoftype'type'numpy.float64''with3storedelementsinLInkedListformat1x3sparsematrixof

python - Scipy hstack 结果为 "TypeError: no supported conversion for types: (dtype(' float6 4'), dtype(' O'))"

我正在尝试运行hstack以将一列整数值连接到由TF-IDF创建的列列表(因此我最终可以在分类器中使用所有这些列/特征)。我正在使用pandas阅读专栏,检查任何NA值并将它们转换为数据框中的最大值,如下所示:OtherColumn=p.read_csv('file.csv',delimiter=";",na_values=['?'])[["OtherColumn"]]OtherColumn=OtherColumn.fillna(OtherColumn.max())OtherColumn=OtherColumn.convert_objects(convert_numeric=True)

python - 使用 Scipy 最大化优化

我正在尝试用下面显示的约束来求解这个线性规划函数,即x1的答案和x2应该是2和6分别,目标函数的值应等于36.我写的代码给了我答案4和3.我可能做错了什么?函数最大化z=3*x1+5*x2.约束是x1;2*x2;3*x1+2*x2;x1>=0;x2>=0.importnumpyasnpfromscipy.optimizeimportminimizedefobjective(x,sign=1.0):x1=x[0]x2=x[1]returnsign*((3*x1)+(5*x2))defconstraint1(x,sign=1.0):returnsign*(3*x[0]+2*x[1]-18.

python /赛通 : Using SciPy with Cython

Cython教程展示了一个很好的示例,说明如何将Numpy与Cython结合使用。但是,我有使用scipy.stats包的代码,在尝试编译代码时,出现如下错误:dvi.pyx:7:8:'scipy.stats.pxd'notfound我担心Cython(?)不支持scipy。有人可以评论在Cython中使用scipy或指出一些资源/教程的方向吗?谢谢! 最佳答案 所以我在CythonGoogleGroup(https://groups.google.com/forum/?fromgroups#!searchin/cython-use

python - 如何在 scipy.stats.gamma.fit 中获得拟合参数的误差估计?

我有一些我正在使用scipy.stats拟合Gamma分布。我能够提取形状、位置和比例参数,它们在我期望的数据范围内看起来很合理。我的问题是:有没有办法也得到参数中的错误?类似于curve_fit的输出。注意:我不直接使用曲线拟合,因为它不能正常工作,而且大多数时候无法计算Gamma分布的参数。另一方面,scipy.stats.gamma.fit工作正常。这是我正在做的事情的一个例子(没有我的实际数据)。fromscipy.statsimportgammashape=12;loc=0.71;scale=0.0166data=gamma.rvs(shape,loc=loc,scale=s

python - 什么是 `scipy.i` ?

出于对键盘的随机攻击,我最终注意到SciPy中有一个名为i的变量,它被分配给字符串'6'。(在其他机器上可能会有所不同?)我尝试使用内置的帮助函数,但是没有任何东西分配给scipy.i因为它只引用一个字符串。我还搜索了文档和谷歌,但没有找到任何结果。它可能与版本控制或类似的东西有关吗?顺便说一句,我在Windows7(均为64位)上使用EnthoughtPython。这远不是一个关键问题,我只是对此感到好奇! 最佳答案 哦,这很可爱。来自scipy__init__.py:#Emitawarningifnumpyistoooldmaj

python - Scipy 稀疏矩阵乘法

我有这个使用numpy数组进行矩阵乘法的例子:importnumpyasnpm=np.array([[1,2,3],[4,5,6],[7,8,9]])c=np.array([0,1,2])m*carray([[0,2,6],[0,5,12],[0,8,18]])如果m是scipy稀疏CSR矩阵,我如何做同样的事情?这给出了维度不匹配:sp.sparse.csr_matrix(m)*sp.sparse.csr_matrix(c) 最佳答案 您可以调用csr_matrix的multiply方法进行逐点乘法。sparse.csr_matr

python - 使用 scipy、python、numpy 进行非线性 e^(-x) 回归

下面的代码为我提供了最佳拟合线的平线,而不是沿着适合数据的e^(-x)模型的漂亮曲线。谁能告诉我如何修复下面的代码以使其适合我的数据?importnumpyasnpimportmatplotlib.pyplotaspltimportscipy.optimizedef_eNegX_(p,x):x0,y0,c,k=py=(c*np.exp(-k*(x-x0)))+y0returnydef_eNegX_residuals(p,x,y):returny-_eNegX_(p,x)defGet_eNegX_Coefficients(x,y):print'xis:',xprint'yis:',y#C

python - scipy.io.wavfile.read 无法读取 24 位 .wav 文件

scipy.io.wavfile.read似乎无法读取24位.wav文件。您知道如何处理它们吗? 最佳答案 如果您的wav文件没有被压缩,您可以在这里尝试readwav函数:https://gist.github.com/WarrenWeckesser/7461781更新我将该要点转换为python包:https://pypi.python.org/pypi/wavio源代码在github:https://github.com/WarrenWeckesser/wavio 关于python