将循环迭代保存为Python中的新列

时间:2017-03-11 15:43:59

标签: python numpy

非常新的Python(以及一般的编码),我正在尝试将每个循环迭代保存到新列。具体来说,有3个循环(basisAges是1×3),每个循环产生'y',1×83行数组。我想创建一个名为'Phi'的83×3矩阵,它将y的每次迭代保存到Phi中的新列。非常感谢一些帮助。

P.S。这是从matlab复制的一些代码,所以它只是:

Phi(:,i) = y;

希望有人可以为我揭开这一点!

basisAges = config.basisAges

for i in np.arange(0, len(basisAges[0])):
    basisAge = basisAges[:, i]
    if i != 0:
        ageBefore = basisAges[:, i-1]
    else:
        ageBefore = basisAge - 1

    if i != len(basisAges[0]) - 1:
        ageAfter = basisAges[:, i+1]
    else:
        ageAfter = basisAge + 1

    y1 = 1.0 / (basisAge - ageBefore) * (age - ageBefore)
    y2 = 1 - 1.0 / (ageAfter - basisAge) * (age - basisAge)
    y = np.multiply(np.logical_and(age >= ageBefore, age <= basisAge), y1) + np.multiply(np.logical_and(age > basisAge, age <= ageAfter), y2)

0 个答案:

没有答案