Python:计算两个矩阵的相似元素

标签 python numpy matrix

所以我必须使用 numpy 2D 数组的邻接矩阵,并且我想计算两者之间相似元素的数量。这可能听起来很愚蠢,我知道可以使用简单的 for 循环来完成,但我想知道是否有一个 oneliner 可以这样做?或者也许是一种更快的方法,因为我正在处理大型矩阵。以下代码是我现在的代码:

adj1 = graph1.get_adjacency()
adj2 = graph2.get_adjacency()

count = 0
for i in range(len(adj1)):
    for j in range(len(adj1)):
        if adj[i][j] == adj[i][j]:
            count += 1

最佳答案

试试这个:

np.sum(adj1 == adj2)

如果adj1和adj2的数据类型是float:

np.sum(np.isclose(adj1, adj2))

关于Python:计算两个矩阵的相似元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36658082/

相关文章:

python - 在标签 BeautifulSoup 中显示文本

python - 如何在 pandas 数据框中应用带有窗口参数的自定义函数?

python - 使用 numpy 或 pandas 处理长格式的 csv 文件

python - 使 numpy ndarray 矩阵对称

python - 将嵌套列表中的元素与字典中的值进行匹配

python - 使用scrapy,python中的站点地图蜘蛛解析站点地图中具有不同url格式的url

c++ - 函数传递后 DirectX::XMMATRIX 乘法不正确 (C++)

python - Numpy 矩阵乘法,而不是乘以 XOR 的元素

Python Enum,何时何地使用?

java - 你好,我正在努力理解这段代码中 if 语句的 O 表示法运行时