草庐IT

指数平滑

全部标签

python - 相似的代码(指数加权偏差)在 Haskell 中比在 Python 中慢

我实现了exponentiallyweightedmovingaverage(ewma)在python3和Haskell中(已编译)。它需要大约相同的时间。然而,当这个函数被应用两次时,haskell版本会莫名其妙地变慢(超过1000次,而python版本只慢大约2倍)。Python3版本:importnumpyasnpdefewma_f(y,tau):a=1/tauavg=np.zeros_like(y)foriinrange(1,len(y)):avg[i]=a*y[i-1]+(1-a)*avg[i-1]returnavg带有列表的Haskell:ewmaL::[Double]->

python - 带模数的 Numpy 矩阵幂/指数?

是否可以将numpy的linalg.matrix_power与模一起使用,以便元素不会增长到大于某个值? 最佳答案 为了防止溢出,您可以利用这样一个事实:如果您首先对每个输入数字取模,您会得到相同的结果;事实上:(M**k)modp=([Mmodp]**k)modp,对于矩阵M。这来自以下两个基本恒等式,它们对整数x和y(以及正幂p)有效:(x+y)modp=([xmodp]+[ymodp])modp#Alladditionscanbedoneonnumbers*modulop*(x*y)modp=([xmodp]*[ymodp])

python - 强制 python 不以标准形式/科学计数法/指数形式输出 float

这个问题在这里已经有了答案:Howtosuppressscientificnotationwhenprintingfloatvalues?(16个答案)关闭3年前。所以这很好用:>>>float(1.0e-1)0.10000000000000001但是当处理更大的数字时,它不会打印:>>>float(1.0e-9)1.0000000000000001e-09有没有办法强制执行此操作?也许使用numpy或其他东西。

python - 如果我想要随机非结构化数据的 3D 样条/平滑插值怎么办?

我受到了启发answer@James查看如何使用griddata和map_coordinates。在下面的示例中,我展示了2D数据,但我对3D感兴趣。我注意到griddata只提供1D和2D的样条曲线,并且仅限于3D和更高的线性插值(可能有很好的理由)。但是,map_coordinates似乎适用于使用更高阶(比分段线性更平滑)插值的3D。我的主要问题:如果我在3D中有随机的非结构化数据(我不能在其中使用map_coordinates),是否有某种方法可以使NumPySciPy宇宙中的分段线性插值更平滑,或至少在附近?我的第二个问题:griddata中不提供3D样条是因为实现起来困难或

python - 在 matplotlib 图形中绘制平滑曲线

我正在使用python读取netcdf文件,需要使用python中的matplotlib库绘制图形。netcdf文件包含3个变量:uv和w组件。我必须在垂直比例尺上绘制这3个组件。由于这些数据将用于天气预报雷达。我需要用拐角处的平滑曲线绘制这些图表。现在剧情看起来是代码是...fromnetCDF4importDatasetfrompylabimport*importnumpyfromscipyimportinterpolatefromscipy.interpolateimportspline#passingthefilenameroot_grp=Dataset('C:\\Python

python - 平滑二值图像的边缘

如何平滑阈值处理后获得的血管二值图像的边缘。我尝试了一种有点类似于thismethod的方法但并没有完全得到我预期的结果。代码如下:importcv2importnumpyasnpINPUT=cv2.imread('so-br-in.png',0)MASK=np.array(INPUT/255.0,dtype='float32')MASK=cv2.GaussianBlur(MASK,(5,5),11)BG=np.ones([INPUT.shape[0],INPUT.shape[1],1],dtype='uint8')*255OUT_F=np.ones([INPUT.shape[0],I

python - 使用matplotlib生成平滑线图

以下是使用matplotlib生成绘图的python脚本。#!/usr/bin/pythonimportmatplotlib.pyplotaspltimporttimeimportnumpyasnpfromscipy.interpolateimportspline#Localvariablesx=[]y=[]#Openthedatafileforreadinglinesdatafile=open('testdata1.txt','r')sepfile=datafile.read().split('\n')datafile.close()#Createacanvastoplacethes

python - 使用pcolormesh时如何通过插值平滑?

我有一张世界basemap,它使用pcolormesh填充了数据(lintrends_mean)。因为数据有相对较大的网格框,所以我想平滑绘图。但是,我不知道该怎么做。在绘图函数中设置shading='gouraud'会模糊网格框的边缘,但我想要比这更好看的东西,因为数据仍然显得有些Blob。这里提出了一个类似的问题并给出了答案,但我不明白答案,尤其是“newdepth”的来源。由于我缺乏声誉,我也无法对此发表评论以进行澄清。interpolationwithmatplotlibpcolor#Setcmappropertiesbounds=np.array([0.1,0.2,0.5,1

python - 使用按位运算查找 n = 2**x 的指数 [n 的以 2 为底的对数]

是否有仅使用按位运算从2的幂中提取指数的简单方法?编辑:虽然问题最初是关于按位运算的,但如果您想知道“给定Y=2时找到X的最快方法是什么,该线程也是一个很好的读物>X在Python中?”**我目前正在尝试优化一个例程(Rabin-Millerprimalitytest)以2**s*d形式减少偶数N强>.我可以通过以下方式获得2**s部分:two_power_s=N&-N但我找不到通过按位运算仅提取“s”的方法。我目前正在测试但不太满意的解决方法(它们都非常慢)是:使用对数函数操纵2**s的二进制表示(即计算尾随零)循环除以2直到结果为1我正在使用python,但我想这个问题的答案应该与

python - 高斯平滑python中的图像

我是python编程的新手,我仍在尝试解决所有问题,但我在尝试对图像进行高斯平滑或卷积时遇到了问题。这可能是一个简单的修复,但我花了很多时间试图弄明白我开始发疯了。我有一组星系的3d.fits文件,我剪下了其中的一个并用aplpy将其保存为png。基本上,它需要作为高斯平滑到更大的光束尺寸(即通过扩展FWHM但调暗输出使整个东西更大)。我知道我可以使用scipy.ndimage.convolve和numpy中的类似功能,但我很难将其转化为有用的东西。如果有人可以帮我解决这个问题并为我指明正确的方向,那将是一个巨大的帮助。 最佳答案