如何从 SciPy 中的 scipy.stats.distribution 对象获取分发名称?

How to get distribution name from scipy.stats.distribution object in SciPy?

我正在尝试一系列不同的分布。

有没有办法从分发对象中取回分发的名称?

我找到了一个方法,但似乎不是很有效。

distribution = "gamma"
distr = getattr(stats, distribution)
print(distr)
# <scipy.stats._continuous_distns.gamma_gen object at 0x11688f518>
str(distr).split(".")[3].split("_")[0]
# 'gamma'

您可以使用 name 属性:

from scipy import stats
print(stats.gamma.name)

使用name属性:

>>> from scipy import stats
>>> distribution = "gamma"
>>> distr = getattr(stats, distribution)
>>> distr.name
'gamma'