如何获得两个稀疏矩阵的集合差异?

保护

我有两个矩阵A和B。我想找出它们之间的集合差异:A中但不在B中的所有元素的集合。所得矩阵必须具有相同的形状,因此另一种放置方式是必须将在A和B中都找到的元素设置为零。例如,使用以下矩阵:

import numpy as np
from scipy.sparse import csr_matrix

A = csr_matrix([[1, 2, 3, 4, 5]])
B = csr_matrix([[6, 0, 7, 0, 9]])

结果将是:

C = [[0, 2, 0, 4, 0]]

到目前为止,我一直在尝试使用python的set Difference函数:

def set_difference(a,b):
    a = set(a)
    b = set(b)
    c = a.difference(b)
    return c

但是,这不起作用-似乎csr_matrix不能变成集合。因此,如果我不使用集合,如何得到两个矩阵的集合差?

加里皮

看来您使用的是普通矩阵,而不是稀疏矩阵。根据您的问题描述,以下方法将起作用:

A = [1, 2, 3, 4, 5]
B = [6, 0, 7, 0, 9]
C = [A[i] if not B[i] else 0 for i in range(len(A))]

任何非零值的结果都为“ true”,因此当B [i]对于相同的索引为零时,这将创建所有A [i]值的列表,否则它将为该索引填充零。

编辑:使用csr_matrices尝试使用以下语法:

 C = csr_matrix([A[0,i] if not B[0,i] else 0 for i in range(A.size)])

EDIT2:对于2D稀疏矩阵,请使用以下命令:

 C = csr_matrix( [ [A[i,j] if not B[i,j] else 0 for i in range(A.shape[0]) ] for j in range(a.shape[1]) ])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

两个稀疏矩阵相乘的算法

来自分类Dev

R如何计算两个矩阵行之间的差异?

来自分类Dev

如何获得PHP中两个多维数组的差异?

来自分类Dev

如何获得两个JodaTime LocalTime戳之间的差异?

来自分类Dev

如何获得两个日期之间的差异?

来自分类Dev

如何获得两个列表之间的对称差异?

来自分类Dev

如何获得两个时间戳的差异?

来自分类Dev

如何获得两个日期之间的差异?

来自分类Dev

如何获得两个日期之间的差异(informix)?

来自分类Dev

如何获得两个时间戳之间的差异?

来自分类Dev

如何获得两个excel列之间的差异

来自分类Dev

如何获得(多个)两个不同行之间的差异?

来自分类Dev

如何获得两个矩阵之间的标量乘法?

来自分类Dev

tensorflow:如何在两个稀疏矩阵之间执行元素乘法

来自分类Dev

获得两个文件中的差异

来自分类Dev

如何在不更改任何两个集合的情况下找到两个集合之间的差异?

来自分类Dev

两个稀疏矩阵的按元素最大值

来自分类Dev

Scipy稀疏效率乘以两个矩阵时的警告

来自分类Dev

如何:找到Java中两个集合之间的集合差异

来自分类Dev

如何获得两个元素的两个子列表的列表之间的对称差异?

来自分类Dev

本征中两个矩阵之间的成对差异

来自分类Dev

Hadamard的两个巨大稠密矩阵的乘积与稀疏矩阵的乘积

来自分类Dev

如何在Java 8中获得两个Stream之间的对称差异?

来自分类Dev

如何在Python中获得两个时间对象之间的差异

来自分类Dev

如何在Python中获得两个时间对象之间的差异

来自分类Dev

是否可以从两个动态数组中获得差异,而不管它们的顺序如何?

来自分类Dev

如何在PowerShell中比较两个日期并在数分钟内获得差异

来自分类Dev

如何获得存在数据库中两个版本之间的差异

来自分类Dev

如何在Dart中获得两个列表之间的差异?

Related 相关文章

  1. 1

    两个稀疏矩阵相乘的算法

  2. 2

    R如何计算两个矩阵行之间的差异?

  3. 3

    如何获得PHP中两个多维数组的差异?

  4. 4

    如何获得两个JodaTime LocalTime戳之间的差异?

  5. 5

    如何获得两个日期之间的差异?

  6. 6

    如何获得两个列表之间的对称差异?

  7. 7

    如何获得两个时间戳的差异?

  8. 8

    如何获得两个日期之间的差异?

  9. 9

    如何获得两个日期之间的差异(informix)?

  10. 10

    如何获得两个时间戳之间的差异?

  11. 11

    如何获得两个excel列之间的差异

  12. 12

    如何获得(多个)两个不同行之间的差异?

  13. 13

    如何获得两个矩阵之间的标量乘法?

  14. 14

    tensorflow:如何在两个稀疏矩阵之间执行元素乘法

  15. 15

    获得两个文件中的差异

  16. 16

    如何在不更改任何两个集合的情况下找到两个集合之间的差异?

  17. 17

    两个稀疏矩阵的按元素最大值

  18. 18

    Scipy稀疏效率乘以两个矩阵时的警告

  19. 19

    如何:找到Java中两个集合之间的集合差异

  20. 20

    如何获得两个元素的两个子列表的列表之间的对称差异?

  21. 21

    本征中两个矩阵之间的成对差异

  22. 22

    Hadamard的两个巨大稠密矩阵的乘积与稀疏矩阵的乘积

  23. 23

    如何在Java 8中获得两个Stream之间的对称差异?

  24. 24

    如何在Python中获得两个时间对象之间的差异

  25. 25

    如何在Python中获得两个时间对象之间的差异

  26. 26

    是否可以从两个动态数组中获得差异,而不管它们的顺序如何?

  27. 27

    如何在PowerShell中比较两个日期并在数分钟内获得差异

  28. 28

    如何获得存在数据库中两个版本之间的差异

  29. 29

    如何在Dart中获得两个列表之间的差异?

热门标签

归档