python中的分布和p值

时间:2012-11-20 13:40:27

标签: python statistics distribution

我有一个很大的数字列表,我想创建一个这个数据的分布,绘制它,然后找到我的列表中关于分布的每个数字的p值。

可以在python中执行此操作吗?我在matplotlib文档中找不到它。我应该使用其他东西吗?

2 个答案:

答案 0 :(得分:3)

我建议您查看scipy的{​​{3}}模块;它为这样的事情提供了许多统计功能。对于绘图,我仍然会使用stats

答案 1 :(得分:0)

您可以使用numpy模块中的searchsorted函数,该函数将为您提供有序数组中一组值的顺序。然后,只需将其重新规范化为原始数组的维度,即可将其转换为pvalue:

data = sorted(rand(10))
new_data = rand(5)
pvals = searchsorted(data,new_data)*1./len(data)
print pvals
#array([ 0. ,  0.1,  0.2,  0.3,  0.4,  0.5,  0.6,  0.7,  0.8,  0.9])

嗯,事实上,如果你想要原始数字的p值,你根本不需要任何特殊功能:pvalues只是排序数据集中的顺序除以它的长度。 如果您需要与原始值相关的新值的pvalues,您可以使用我给你的代码段