遍历 numpy 数组行
Iterating through the numpy array rows
我正在尝试获取此对比矩阵的每一行,执行分母变量中定义的操作,将它们相加,然后除以行数。当我尝试做这样的事情时,我得到一个“无效的语法错误”(使用 python 3)。这个问题来自 fMRI 单变量分析上下文。 X 是预定义的,您可以忽略它。我只是想用分母变量中的矩阵做点积。
X = simulate_two_predictors(N=350, shift=30, TR=2)
contrast_matrix = np.array([
[0, 1, 0],
[0, 0, 1],
[0, 1, -1]
])
for i in range(contrast_matrix.shape[0]):
denominator = (contrast_matrix[i,:] @ inv(X.T @ X) @
(contrast_matrix[i,:].T))
return contrast_matrix.size / denominator
你能帮我吗?我是新手
由于我不知道 X simulate_two_predictors 的输出结果如何,我做了一些假设。
如果我错了请纠正我,return 关键字仅在您 return 来自函数的情况下才有效。
import numpy as np
contrast_matrix = np.array([[0, 1, 0],
[0, 0, 1],
[0, 1, -1]])
X = simulate_two_predictors(N=350, shift=30, TR=2)
for i in range(contrast_matrix.shape[0]):
# do something here
denominator = (contrast_matrix[i,:]) @ (np.linalg.inv(X.T @ X) @ (contrast_matrix[i,:].T))
# reassign value
contrast_matrix[i,:] = (contrast_matrix.size / denominator)
print(contrast_matrix)
我正在尝试获取此对比矩阵的每一行,执行分母变量中定义的操作,将它们相加,然后除以行数。当我尝试做这样的事情时,我得到一个“无效的语法错误”(使用 python 3)。这个问题来自 fMRI 单变量分析上下文。 X 是预定义的,您可以忽略它。我只是想用分母变量中的矩阵做点积。
X = simulate_two_predictors(N=350, shift=30, TR=2)
contrast_matrix = np.array([
[0, 1, 0],
[0, 0, 1],
[0, 1, -1]
])
for i in range(contrast_matrix.shape[0]):
denominator = (contrast_matrix[i,:] @ inv(X.T @ X) @
(contrast_matrix[i,:].T))
return contrast_matrix.size / denominator
你能帮我吗?我是新手
由于我不知道 X simulate_two_predictors 的输出结果如何,我做了一些假设。
如果我错了请纠正我,return 关键字仅在您 return 来自函数的情况下才有效。
import numpy as np
contrast_matrix = np.array([[0, 1, 0],
[0, 0, 1],
[0, 1, -1]])
X = simulate_two_predictors(N=350, shift=30, TR=2)
for i in range(contrast_matrix.shape[0]):
# do something here
denominator = (contrast_matrix[i,:]) @ (np.linalg.inv(X.T @ X) @ (contrast_matrix[i,:].T))
# reassign value
contrast_matrix[i,:] = (contrast_matrix.size / denominator)
print(contrast_matrix)