草庐IT

指数平滑

全部标签

python - Python中的指数计算

在试验Euler99时,我注意到这些操作需要不同的时间:>>>632382**518061#neverfinishes..>>>632382**518061>519432**525806#finishesinfewsecondsTrue请问这是什么原因? 最佳答案 问题是python会尝试打印第一个结果。但是这个数字有无数个数字,python不会刷新输出,直到遇到换行符,这是在将所有数字发送到标准输出之后。正如@abarnert所提到的,更糟糕​​的是将数字转换为字符串以进行打印。这需要相当大的内存分配和处理能力。另一方面,第二个表

python - 使用 Python NLTK 对 trigrams 进行 Kneser-Ney 平滑

我正在尝试使用PythonNLTK通过Kneser-Ney平滑来平滑一组n-gram概率。不幸的是,整个文档相当稀疏。我正在尝试做的是:我将文本解析为三元组列表。从这个列表中,我创建了一个FreqDist,然后使用该FreqDist来计算KN平滑分布。不过我很确定,结果是完全错误的。当我对各个概率求和时,我得到的结果远远超过1。以这个代码示例为例:importnltkngrams=nltk.trigrams("Whatapieceofworkisman!hownobleinreason!howinfiniteinfaculty!in\formandmovinghowexpressand

python - 将两个指数不匹配的 Pandas 系列相乘

从df创建了两个系列:s1和s2。每个都有相同的长度但不同的索引。s1.multiply(s2)合并不匹配的索引,而不是与它们相乘。我只想将s1与s2相乘,忽略不匹配的索引。我可以运行s1.reset_index()和s2.reset_index()然后从这两个dfs中取出我想要的列,因为它将原始索引转换为一个单独的专栏,但这很乏味,我认为可能有更简单的方法来做到这一点。s1.multiply(s2,axis='columns')好像也没用 最佳答案 我认为使用reset_index()是正确的方法,但是有一个选项可以删除索引,而不

python - 如何摆脱 pandas 将 excel 表中的大数字转换为指数?

在excel表中,我有两列数字很大。但是当我使用read_excel()读取excel文件并显示数据框时,这两列以带指数的科学格式打印。如何摆脱这种格式?谢谢Pandas输出 最佳答案 应用科学记数法的方式通过pandas的显示控制options:pd.set_option('display.float_format','{:.2f}'.format)df=pd.DataFrame({'TradedValue':[67867869890077.96,78973434444543.44],'Deals':[789797,789878]

python - 如何使用 numpy/scipy/matplotlib 以最小平滑度绘制线(多边形链)

我正在尝试在matplotlib中绘制一条线。我正在寻找正确的插值类型。我想要这样的东西每条线都经过平滑处理。我尝试了几种scipy和matplotlib的组合,比如x_new=np.arange(x,x_length,1)tck=interpolate.splrep(x,y,s=3)y_new=interpolate.splev(x_new,tck,der=0)ax.plot(x_new,y_new,color+lstyle)但我得到的最好结果是这条线代表一个递增的变量..所以它是一个错误的表示。我可以搜索什么?谢谢编辑:我正在考虑自己实现一个方法,但我不知道是否已经完成。伪代码如下

python - 在没有字符串的情况下将 float 分解为以 10 为底的尾数和指数

Python库或numpy中是否有将float作为输入并返回其十进制科学记数法分解(即尾数和指数)的函数?或者是否有一种BRIEF方法可以在不求助于字符串转换或使用for循环来确定指数的情况下完成此操作?编写这样的函数并不困难,我只是感到震惊,因为我在数学、小数或numpy中找不到现有的函数。例如如果fexp和fman是给出float的十进制浮点表示的指数和尾数的函数,那么我们期望以下语句都返回true:fexp(154.3)==2.0fman(154.3)==1.543fexp(-1000)==3.0fman(-1000)==-1.0简而言之,这将是math.frexp的“十进制版本

python - 估计幂律分布中的指数截断

因为我一直在做一些社交网络分析,所以我偶然发现了在网络度上拟合概率分布的问题。因此,我有一个概率分布P(X>=x),从目测来看,它遵循具有指数截断的幂律而不是纯幂律(直线)。因此,假定具有指数截断的幂律分布方程为:f(x)=x**alpha*exp(beta*x)我如何使用Python估计参数alpha和beta?我知道scipy.stats.powerlaw包存在并且它们有一个.fit()函数,但它似乎没有完成这项工作,因为它只返回绘图的位置和比例,哪个似乎只对正态分布有用?这个包的教程也不够。附言我很清楚CLausetetal的实现但它们似乎没有提供估计交替分布参数的方法。

python - 如何将 pythons Decimal() 类型转换为 INT 和指数

我想在python中使用Decimal()数据类型并将其转换为整数和指数,这样我就可以将该数据发送到具有完全精度和小数控制的微Controller/plc。https://docs.python.org/2/library/decimal.html我已经让它工作了,但是它很老套;有谁知道更好的方法?如果不是,我会采取什么途径自己编写较低级别的“as_int()”函数?示例代码:fromdecimalimport*d=Decimal('3.14159')t=d.as_tuple()ift[0]==0:sign=1else:sign=-1digits=t[1]theExponent=t[2

python - 如何在python中平滑曲线

我有一条熵曲线(一维numpy数组),但这条曲线有很多噪音。我想通过平滑来消除噪音。这是我的曲线图:我试图通过使用Kaiser-Bessel滤波器制作卷积积来解决这个问题:gaussian_curve=window_kaiser(windowLength,beta=20)#kaiserfiltergaussian_curve=gaussian_curve/sum(gaussian_curve)foriinrange(0,windows_number):start=(i*step)+1end=(i*step)+windowLengthconvolution[i]=(np.convolve

python - 指数曲线拟合的置信区间

我正在尝试获取某些x,y数据(可用here)的指数拟合的置信区间。这是我必须找到最适合数据的指数的MWE:frompylabimport*fromscipy.optimizeimportcurve_fit#Readdata.x,y=np.loadtxt('exponential_data.dat',unpack=True)deffunc(x,a,b,c):'''Exponential3-paramfunction.'''returna*np.exp(b*x)+c#Findbestfit.popt,pcov=curve_fit(func,x,y)printpopt#Plotdataand