遍历numpy数组行

2024-05-12 00:13:09 发布

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

我尝试获取对比度矩阵的每一行,执行分母变量中定义的操作,将它们相加,然后除以行数。当我尝试这样做时,我得到一个“无效语法错误”(使用Python3)。这个问题来自功能磁共振成像单变量分析背景。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

你能帮我吗?我是新来的


Tags: 功能shift定义矩阵matrixpython3磁共振背景
1条回答
网友
1楼 · 发布于 2024-05-12 00:13:09

因为我不知道X模拟两个预测值的输出是什么样子的,所以我做了一些假设

如果我错了,请纠正我,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)

相关问题 更多 >