python - 如何获得支持范围从最多零到无穷大的所有 SciPy 发行版?
问题描述
我正在尝试实现一个代码,该代码会根据以下标准获取 SciPy 中所有概率分布的列表:a)分布是连续的,b)分布支持的下限最多为 0,并且 c ) 分布的上限是无穷大。
有没有一种快速的方法来实现这一点?也许一种方法可以拉出所有rv_continuous分布的列表,然后在分布的支持上使用 lambda 函数?它会是什么样子?在 SciPy 站点上查找所有连续发行版并获取具有所需支持的发行版是很麻烦的,如果发行版被重命名、添加到 SciPy 或从 SciPy 中删除,可能会出现问题(我正在尝试使我的代码尽可能动态)。
感谢您的热心帮助!
解决方案
我想到了:
all_dist = [getattr(stats, d) for d in dir(stats) if isinstance(getattr(stats, d), stats.rv_continuous)]
filtered = [x for x in all_dist if ((x.a <= 0) & (x.b == math.inf))]
推荐阅读
- rust - 如何在特定位置的日志文件中禁用外部 crate 日志?
- apache-spark - 从一列减去 1 秒
- java - 有没有办法为 Selenium Grid 中的每个浏览器获取单独的测试报告?
- typescript - 定义的全局变量不能被依赖解析
- android - 使用代码重新创建 xml 文件中的形状并以编程方式设置宽度
- struct - 我怎样才能制作一个可能有也可能没有定义的字段的结构?
- .net - 外壳 | 获取流程 | 申请退出时间
- android - 隐藏进度条小部件
- javascript - 访问对象数组内的键值对的最佳方法?在javascript中
- reactjs - 如何同时验证密码长度和正则表达式