草庐IT

scipy-optimize

全部标签

python - 使用来自 SciPy 的 wavfile.write 在 Python 中编写 wav 文件

我有这个代码:importnumpyasnpimportscipy.io.wavfileimportmathrate,data=scipy.io.wavfile.read('xenencounter_23.wav')data2=[]foriinrange(len(data)):data2.append([int(round(math.sin(data[i][0])*3000)),int(round(math.sin(data[i][1])*3000))])data2=np.asarray(data2)printdata2scipy.io.wavfile.write('xenencoun

python - 有什么方法可以在 Scipy 中为 KD 树实现添加点

我有一组要为其构建KD树的点。一段时间后,我想定期向此KDTree添加更多点。有什么办法可以在scipy实现中做到这一点 最佳答案 k-d-trees的问题在于它们不是为更新而设计的。虽然您可以稍微轻松地插入对象(如果您使用基于指针的表示,这需要比基于数组的树多得多的内存),并使用墓碑消息等技巧进行删除,但进行此类更改会降低性能树的性能。我不知道增量重新平衡k-d-tree的好方法。对于一维树,你有红黑树、B树、B*树、B+树等等。由于旋转轴和因此不同的排序,这些显然不适用于k-d-trees。所以最后,对于k-d-tree,最好只

python - 使用 IRLS 了解 scipy 的最小二乘函数

我在理解这个函数的工作原理时遇到了一些麻烦。a,b=scipy.linalg.lstsq(X,w*signal)[0]我知道signal是表示信号的数组,目前w只是[1,1,1,1,1...]我应该如何操作X或w来模拟加权最小二乘法或迭代重新加权最小二乘法? 最佳答案 如果用sqrt(weight)乘积X和y,则可以计算加权最小二乘法。您可以通过以下链接获取公式:http://en.wikipedia.org/wiki/Linear_least_squares_%28mathematics%29#Weighted_linear_le

python - 切片稀疏(scipy)矩阵

我将不胜感激任何帮助,以了解从scipy.sparse包中切片lil_matrix(A)时的以下行为。实际上,我想根据行和列的任意索引列表提取子矩阵。当我使用这两行代码时:x1=A[list1,:]x2=x1[:,list2]一切都很好,我可以提取正确的子矩阵。当我试图在一行中执行此操作时,它失败了(返回矩阵为空)x=A[list1,list2]为什么会这样?总的来说,我在matlab中使用了类似的命令并且它可以工作。那么,为什么不使用第一个,因为它有效?这似乎很费时间。由于我必须浏览大量条目,因此我想使用单个命令加快速度。也许我使用了错误的稀疏矩阵类型...有什么想法吗?

python - scipy.stats 随机抽取之间的区别....rvs 和 numpy.random

似乎如果它是相同的分布,从numpy.random中抽取随机样本比从scipy.stats.-.rvs中抽取随机样本更快。我想知道是什么导致两者之间的速度差异? 最佳答案 scipy.stats.uniform其实用的是numpy,这里是stats中对应的函数(mtrand是numpy.random的别名)classuniform_gen(rv_continuous):def_rvs(self):returnmtrand.uniform(0.0,1.0,self._size)scipy.stats有一些开销用于错误检查和使接口(in

python - Lua 等同于 NumPy 和 SciPy?

我正在考虑学习lua,我了解到它是一种比python更小的语言,并且具有LuaJIT形式的高效JIT编译器实现。我想知道是否可以像使用python和Numpy+Scipy一样使用lua。此外,如果Lua有numpy+scipy等价物,它是否有matplotlib等价物? 最佳答案 还有一些东西,我发现了一些类似于Scipy+matplotlibforLua的东西,我不确定2011年1月最后一个版本的开发有多活跃,它是GSL-shell它利用GS​​L库并具有绘图功能,它更像matlab而不是scipy+matplotlib。

python - 将 Python 警告/错误跟踪到 numpy 和 scipy 中的行号

我收到错误:Warning:invalidvalueencounteredinlog来自Python,我相信错误是由numpy(使用版本1.5.0)抛出的。但是,由于我在多个地方调用了“日志”函数,所以我不确定错误来自何处。有没有办法让numpy打印产生这个错误的行号?我假设警告是由于对一个小到可以四舍五入到0或更小(负数)的数字取对数引起的。那正确吗?这些警告的通常来源是什么? 最佳答案 将np.seterr(invalid='raise')放入您的代码中(在错误的log调用之前)将导致numpy引发异常而不是发出警告。这将为您提

python - 为 python 2.7 安装 scipy

我似乎无法让SciPy在32位WindowsXP平台上为Python2.7工作。我宁愿不建立自己的副本。有谁知道我在哪里可以找到它的安装程序?我试过这个site,但它没有用。 最佳答案 从here下载.我不确定您提到的那个网站,但我总是从:http://www.scipy.org开始 关于python-为python2.7安装scipy,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question

python - Scipy: PIL 逊相关性总是返回 1

我正在使用Python库scipy来计算两个float组的Pearson相关性。系数的返回值始终为1.0,即使数组不同也是如此。例如:[-0.654998872.34644428][-1.460497583.86537321]我是这样调用例程的:r_row,p_value=scipy.stats.pearsonr(array1,array2)r_row的值始终为1.0。我做错了什么? 最佳答案 Pearson'scorrelationcoefficient是衡量您的数据通过线性回归拟合的程度。如果你只给它提供两个点,那么有一条线恰好

python - 在 numpy.interp 与 scipy.interpolate.interp1d 之间进行选择(种类为 ='linear' )

我正在尝试在numpy.interp和scipy.interpolate.interp1d之间做出选择(当然是kind='linear').我意识到它们有不同的接口(interface),但这对我来说并不重要(我可以围绕任一接口(interface)进行编码)。我想知道是否还有其他我应该注意的差异。谢谢。 最佳答案 Numpy.interp不处理复数值数据或ndim>1,而scipy.interp1d两者都做。OTOH,numpy的插值器是muchfaster(并且在最近的numpy版本中可能更快)。