Создание вектора значений на основе теста с использованием цикла for - PullRequest
0 голосов
/ 24 мая 2019

Такое чувство, что это должно быть простой проблемой, но я новичок в 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)

Так что явозможность печатать все значения, которые я хочу, но я хочу, чтобы все они были собраны в вектор значений.Я пытался добавлять и составлять списки, но не могу их собрать.

1 Ответ

2 голосов
/ 24 мая 2019
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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...