从您的 kolomogorov-smirnov 标签中,我了解到您正在寻找的功能来自 scipy,请参阅:https ://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.kstest.html 。
它的一种输入模式是两个样本向量。这使得它比您开始实施的更容易。直接用它作为这些例子:
from scipy.stats import kstest
import numpy as np
samps1 = np.random.normal(size=100)
samps2 = np.random.normal(size=100)
samps3 = np.random.normal(loc=1, size=100)
kstest(samps1, samps2)
>>> KstestResult(statistic=0.15, pvalue=0.21117008625127576)
kstest(samps2, samps1)
>>> KstestResult(statistic=0.15, pvalue=0.21117008625127576)
kstest(samps1, samps3)
>>> KstestResult(statistic=0.29, pvalue=0.0004117410017938115)
kstest(samps2, samps1).statistic
>>> 0.15
请注意,该函数同时返回统计信息和 p_value,因此您需要在调用该函数后直接访问 .statistic。