我如何获得支持范围从最多零到无穷大的所有SciPy分布?

2024-03-28 20:36:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试实现一个代码,该代码根据以下标准获取SciPy中所有概率分布的列表:a)分布是连续的,b)分布支持度的下限最多为0,c)分布的上限为无穷大

有没有快速的方法来实现这一点?也许有一种方法可以提取所有rv_连续分布的列表,然后在分布的支持下使用lambda函数?它看起来像什么?在SciPy站点上查找所有连续的发行版并获得所需的支持是很麻烦的,如果将发行版重命名、添加到SciPy或从SciPy中删除,则可能会出现问题(我正试图使我的代码尽可能动态)

谢谢你的帮助


Tags: 方法lambda函数代码列表标准站点动态
1条回答
网友
1楼 · 发布于 2024-03-28 20:36:32

我想出来了:

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))]

相关问题 更多 >