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

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第三方库


热门话题
java如何在Spring YAML配置中避开SpEL美元符号?   java Flyway脚本跳过第一个后的第二个Flyway脚本   SwingJava:像JTable一样过滤面板   Java JTabbedPane将订单提升到所选选项卡   java如何水平打印jframe或赋予它打印属性?   java My inflate不显示xml文件,原因是什么?   同步(Singleton.class)和同步(obj)之间的java差异   如何在linux操作系统中使用Java获取服务器时区信息   java抽象方法和重写?   java选择相关对象的前N个元素   java无法计算对象的数量   类L安卓/widget/ImageView中没有字段mMaxWidth   JavaHibernate4.3.0。最终和春季数据JPA 1.4.3。释放