一种正常、泊松和二项式分布的分布样品。

toms-dist-sampler的Python项目详细描述


Toms_Dist_采样器

简介

Tom的分布采样器使创建正态、泊松和二项式样本以及在Python中获得这些样本的汇总统计变得容易!我创建这个采样器是为了适应编写oop和发布python包。这是我第一次尝试,虽然很有趣,但我也学到了很多!如果有人发现它的实际用途(可能不太可能?)请告诉我。或者给我买杯啤酒。老实说,我宁愿喝啤酒。

安装

目前,汤姆斯蒸馏采样器仅适用于蟒蛇3号。很抱歉那些python2用户。但这可能是一个很好的升级机会!

通过PIP安装

我强烈建议您使用p i p

p i p安装-i https://test.pypi.org/simple/toms dist sampler

或者,如果您的系统中有多个python版本:

pip3安装-i https://test.pypi.org/simple/toms dist sampler

通过Github安装

您还可以通过github进行安装,如下所示:

git clone https://github.com/Tommo565/toms_dist_sampler
cd toms_dist_sampler
python setup.py install

如果最后一行失败,可能是因为系统上安装了多个版本的python。因此,您可能还想尝试: python3 setup.py安装

示例

采样器本身既是一组函数,又是一个类。其中的基本示例选择功能是相同的,但是在这个类中还有一些可用的选项,我将在下面介绍。你使用的应该取决于你个人的喜好。

如果使用这个包,您可能还需要了解一些底层发行版。您可以在minitab express找到一个深入的资源,或者在云时代

分布采样器功能

我建议您使用以下约定导入:

来自toms_dist_sampler.distribution_sampler导入distribution_sampler as ds

从那里可以运行正态分布的样本,如so:

norm=ds(dist=normal,size=1000,mean=2,sd=5)

或泊松分布,如:

poisson=ds(dist='poisson',size=5000,lam=3)

最后是这样的二项分布:

二项式=ds(dist=二项式,size=2500,trials=20,prob=0.2)

您还可以调用"帮助"功能以获得有关功能和参数的更详细概述:

帮助(DS)

所有样本均以numpy数组格式创建。您可以将它们转换为更传统的python列表,如下所示:

norm = ds(dist='Normal', size=1000, mean=2, sd=5)`
norm_list = norm.tolist()

请注意,只有size=dist=参数适用于所有分发类型。根据您选择的分布,您必须在上面的示例中为该分布指定正确的参数。如果您选择的参数组合不正确,您将收到一条错误消息,并提供有关如何选择正确参数的进一步指导。

分布式采样器类

与函数一样,我建议您使用以下约定导入类:

从toms_dist_sampler.distributionsampler导入distributionsampler as ds

该类是灵活的,在创建实例时,您可以使用参数:

我的实例=ds(dist='normal',size=1000,mean=2,sd=5)

或不带:

myinstance=ds()

使用参数创建实例将立即生成示例。但是,如果您创建它时不带参数并希望添加它们,则可以使用set_parameters()方法执行此操作,如下所示:

myinstance.set_参数(dist='poisson',size=5000,lam=3)

您可以使用print_parameters()方法随时打印参数,如下所示:

myinstance.print_parameters()

注意,如果在分布类型(例如dist=normaldist=poisson)之间切换,则保留以前的参数。这将生成一个警告,不会影响您的结果,但我建议如果您希望切换分发类型,请按照上面的说明创建该类的另一个实例。

要创建新示例,必须在按如下方式设置参数后使用.draw()方法:

myInstance.draw()

您还可以随时使用.draw()方法使用现有参数创建新示例。

如果您想打印您的示例,可以使用以下方法来打印示例:

myinstance.print_sample()

这会将您的样本打印到控制台。

最后,.summary()方法会将一些摘要统计信息打印到控制台,包括最小值和最大值,以及标准偏差和平均值:

myinstance.summarise()

您还可以调用"帮助"功能以获得有关功能和参数的更详细概述:

帮助(DS)

所有样本均以numpy数组格式创建。您可以将它们转换为更传统的python列表,如下所示:

MyInstance = DS(dist='Normal', size=1000, mean=2, sd=5)`
norm = MyInstance.draw()
norm_list = norm.tolist()

请注意,只有size=dist=参数适用于所有分发类型。根据您选择的分布,您必须在上面的示例中为该分布指定正确的参数。如果您选择的参数组合不正确,您将收到一条错误消息,并提供有关如何选择正确参数的进一步指导。

测试

使用pytest包执行测试。要运行这些命令,请导航到命令行中的/tests/文件夹并运行:

pytest-v

学分

非常感谢matt upson在检查这方面的帮助。我可能欠他一杯啤酒!< < /P>

许可证

麻省理工学院

github许可证

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用php web服务在签名的amazon s3 url上进行java多部分上载   mysql java hibernate如何将日期列映射为datetime?   安卓 java。错误java。util。ArrayList$ArrayListator。下一个   使用Selenium驱动程序调用chrome浏览器时出现java问题   Java中最快的数据结构(4D可视化处理)   jakarta ee将一个ArrayList对象拆分为大小相等的块,比如Java中的1MB   多线程Java使对象在按住按钮的同时移动   jackson databind如何将java注释的属性和值输出为JSON格式?   soap如何使用KSOAP在Java中序列化字符串数组中的xmlobject?   java缓存依赖项不适用于更高版本的Tomcat 9.0.37,同样适用于9.0.20   我插入到表中的java数据不会替换旧数据,如果数据已经存在,有方法替换数据吗?   java解组jaxb子元素失败(QName)   使用pdfBox在景观中使用java Pdf   使用Java Weka API将数字属性转换为标称属性?   java可以无缝连接到WebHost上托管的MySQL数据库。来自JavaSE应用程序的com?   Java模乘法逆   java不序列化基于值的类(如LocalDateTime)的替代方法是什么   java如何让“hadoop jar”命令获取同名jar的新版本   if语句Java:如何测试输入是double还是int   在参数上调用方法时,java PowerMockito mocking静态方法失败