gpt4 book ai didi

python - 如何使用循环在 python 中执行 Mann-Whitney U 测试?

转载 作者:太空宇宙 更新时间:2023-11-04 02:16:57 25 4
gpt4 key购买 nike

我有一个循环,每次都给出新值 k1 和 k2,但问题是在我的数据集中,有些情况下 k1 和 k2 的所有值都为零。程序到他们那里,只是抛出一个错误,并没有完成循环,还有大量的计算。我怎样才能让这种情况只被签署,比如 NA 或其他东西,然后循环继续?

python3 

import pandas

from scipy.stats import mannwhitneyu

print(mannwhitneyu(k1, k2))

我对不同的观察结果进行了这个 Mann-Whitney U 检验,我希望循环不会因错误而停止,只是要注意这里是不可能的

错误示例(第3行,上面是正常的):

MannwhitneyuResult(statistic=3240.0, pvalue=0.16166098643677973)
MannwhitneyuResult(statistic=2958.5, pvalue=0.008850960706454409)
Traceback (most recent call last):
File "ars1", line 95, in <module>
print(mannwhitneyu(k1, k2))
File "/storage/software/python-3.6.0/lib/python3.6/site-packages/scipy/stats/stats.py", line 4883, in mannwhitneyu
raise ValueError('All numbers are identical in mannwhitneyu')
ValueError: All numbers are identical in mannwhitneyu

最佳答案

如果 2 个数组相等,您可以继续循环。例如,如果:

k1 = [0,0,0,0,0];
k2 = [0,0,0,0,0];

然后你可以检查是否k1 == k2。如果是这样,只需对循环使用 continue 即可。像这样:

if ( k1 == k2 ) == True: continue

就在调用 mannwhitneyu(k1, k2) 之前

关于python - 如何使用循环在 python 中执行 Mann-Whitney U 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52450778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com