更好的紧身制服
better-uniform的Python项目详细描述
更精确的统计数据制服
scipy的stats
子包非常酷。
特别是,它提供了许多用公共接口实现的概率分布。
但是scipy.stats.uniform
总是给我安装窃听器。
>>>fromscipyimportstats>>>help(stats.uniform)Auniformcontinuousrandomvariable.Thisdistributionisconstantbetween`loc`and``loc+scale``.
为什么loc + scale
?为什么不scale
所以我写了better_uniform
:八行小代码,它们不会让我感到如此困扰。
fromscipyimportstatsclassfrozen(stats._distn_infrastructure.rv_frozen):def__init__(self,dist,*args,**kwds):super(frozen,self).__init__(dist,*args,**kwds)defbuniform(a,b):# b for betterdist=stats.uniformdist.name='uniform'returnfrozen(dist,loc=a,scale=b-a)
现在它按我的预期工作:
d=buniform(0,1)d.rvs()# 0 < rv < 1d.interval(1)# (0.0, 1.0)d=buniform(1,2)d.rvs()# 1 < rv < 2d.interval(1)# (1.0, 2.0)# note the differencefromscipy.statsimportuniformd=uniform(1,2)d.rvs()# 1 < rv < 3d.interval(1)# (1.0, 3.0)
就这样!
酷,我要!pip install better-uniform
或
git clone https://github.com/j-faria/better_uniform.git
cd better_uniform
python setup.py install
稍后,来自python
frombetter_uniformimportbuniform