基于使用for循环的测试创建值向量

2024-10-03 23:26:44 发布

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

这感觉应该是一个简单的问题,但我对python比较新,在R中我会使用foreach循环,它给了我一个组合的选项

我尝试了一个for循环,它可以让我打印出所有需要的值,但我希望将它们收集到一个值向量中,以便以后使用


from scipy.stats import gamma
import scipy.stats as stats
import numpy as np
import random

data2 = np.random.gamma(1,2, size = 500)

gammT =  np.log(data2 + 1)

mean = np.mean(gammT)
sd = np.std(gammT)

a = (mean/ sd)**2
b = (sd**2)/ mean

for i in range(1,100):
    gammT = random.sample(list(gammT), 500)
    gamm = np.random.gamma(a,b, size = len(gammT))
    s = stats.anderson_ksamp([gammT,gamm])
    s = s[2]
    print(s)

所以我可以打印出我想要的所有值,但我希望它们都聚集在一个值向量中。我试着附加和制作列表,但不能把它们放在一起


Tags: importforsizeasstatsnprandomscipy
1条回答
网友
1楼 · 发布于 2024-10-03 23:26:44
from scipy.stats import gamma
import scipy.stats as stats
import numpy as np
import random

gammT =  np.log(data2.iScore + 1)

mean = np.mean(gammT)
sd = np.std(gammT)

a = (mean/ sd)**2
b = (sd**2)/ mean

#initialize empty list
result=[]

for i in range(100): 
# removed (1,100) you only need range(100) for 100 elements
    gammT = random.sample(list(gammT), 500)
    gamm = np.random.gamma(a,b, size = len(gammT))
    s = stats.anderson_ksamp([gammT,gamm])
    s = s[2]
    #append calculation to list
    result.append(s)
    print(s)
print(result)

相关问题 更多 >