[英]Creation of new matrix from A containing the average value of A rows for each column if B[i, j] == 1 where B is an adjacency matrix
Suppose we have a matrix
A = 1 2 3 4
15 20 7 10
0 5 18 12
And an adjacency matrix
B = 1 0 1
0 0 1
1 1 1
How can we get a new matrix containing the average value of A row for each column if B[i,j] == 1如果 B[i,j] == 1,我们如何获得一个包含 A 行每列平均值的新矩阵
Expected output matrix
C = 0.5 3.5 10.5 8
7.5 12.5 12.5 11
5.33 9 9.33 8.66
To find the neighborhood if each i, I implemented the following code:为了找到每个 i 的邻域,我实现了以下代码:
for i in range(A.shape[0]):
for j in range(A.shape[0]):
if (B[i,j] == 1):
print(j)```
Are you sure the second column of your expected output matrix is correct?您确定您预期的 output 矩阵的第二列是正确的吗? I feel like this might be what you are looking for:
我觉得这可能是您正在寻找的:
import numpy as np
A = np.array([[1,2,3,4], [15,20,7,10], [0,5,18,12]])
B = np.array([[1,0,1], [0,0,1], [1,1,1]])
np.divide(np.dot(A.T,B), B.sum(axis=1)).T
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.