如何解决使用指标矩阵二元矩阵提取数据
如何使用二进制矩阵来获取数据集中的特定位置。因此,例如,如果我们采用具有类别 1 和 2 的矩阵如下所示
1 2 0
0 2 1
0 0 2
原始数据 (A
) 如下所示:
a b c
e f g
i j k
给我一个数据集 1(使用 B1
):
a 0 0
0 e 0
0 0 0
和数据集 2(使用 B2
):
0 b 0
0 c 0
0 0 k
我在这里放了一个模板来尝试使用 Sympy 或 NumPy 的任何解决方案来测试任何可能的答案:
import sympy as sym
import numpy as np
from sympy import *
init_printing()
a,b,c,d,e,f,g,h,i = sym.symbols("a b c d e f g h i")
B1 = sym.Matrix([[1,0],[0,1],0]]) # To get dataset 1
B2 = sym.Matrix([[0,1,1]]) # To get dataset 2
A = sym.Matrix([[a,c],[d,f],[g,i]])
B1
1 0 0
0 1 0
0 0 0
B2
0 1 0
0 1 0
0 0 1
解决方法
与其使用这个“指标矩阵”,不如使用嵌套的 for 循环和嵌套的 if 语句。这会让你得到最终的答案。这将是低效的,但仍会得到您想要的结果。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。