【问题标题】:Python Numpy. Manipulating with 2 matricesPython 麻木。使用 2 个矩阵进行操作
【发布时间】:2024-05-22 02:05:01
【问题描述】:

我有 2 个大小相同的 CSV 文件。值为1s 和0s。

我需要遍历 2 个文件(矩阵)并使用以下逻辑创建一个新矩阵:

if matrix A value = 1 and matrix B value = 1 
  then 
      result value is 0, 

if 1 and 0 
  then 
      0, 

if 0 and 0 
  then 
      0.

A = [
    [1, 0, 1],
    [1, 1, 1]
]
B = [
    [1, 0, 0],
    [1, 0, 0]
]
=>
C = [
    [0, 0, 1],
    [0, 1, 1]
]

我知道 Numpy 用于循环和操作矩阵和数组,但我坚持要找到正确的方法。

【问题讨论】:

  • 根据您的逻辑:“如果矩阵 A 值 = 1,矩阵 B 值 = 1,则结果值为 0,如果 1 和 0 则为 0,如果 0 和 0 则为 0。”,所有值是0……请纠正你的逻辑。

标签: python python-3.x numpy matrix


【解决方案1】:

这是获得所需输出的一种方法,但我认为您描述的逻辑并不完全是您的意思。这会输出一个由1 组成的数组,其中您的矩阵彼此不同,而0 则它们相似。

A = np.array([
    [1, 0, 1],
    [1, 1, 1]
])

B = np.array([
    [1, 0, 0],
    [1, 0, 0]])


C = (A != B).astype('int')

array([[0, 0, 1],
       [0, 1, 1]])

【讨论】:

    最近更新 更多