【问题标题】:Numpy Array Subtraction [duplicate]Numpy数组减法[重复]
【发布时间】:2017-06-21 16:53:34
【问题描述】:

我将如何比较两个不同的 numpy 数组以创建第三个数组?我想编写一个循环,它遍历两个数组并打印一个新数组“c”,其中只有不在 a 或 b 中的值

比如说我有

a = [1,2,3,4]
b = [1,2,3,4,5,6,7,8,9]

我希望它打印出来:

c = [5,6,7,8,9]

【问题讨论】:

  • c=list(set(b).difference(set(a)))
  • 这些是列表。你真的在和numpy.ndarrays 合作吗?

标签: python arrays sorting numpy


【解决方案1】:

您可以在 Numpy 中使用设置差异操作:numpy.setdiff1d。 来自Numpy docs

>>> a = np.array([1, 2, 3, 2, 4, 1])
>>> b = np.array([3, 4, 5, 6])
>>> np.setdiff1d(a, b)
array([1, 2])

【讨论】:

  • 可能值得明确指出(尽管文档中的示例设计得足够好,可以隐式显示)setdiff1d 不关心数组中的重复。欢迎使用 Stack Overflow!
  • 非常感谢!
  • OP 确实指定了应该从另一个数组中减去哪个数组。似乎他想要任一数组中的所有唯一值:a = np.array([1, 2, 3, 2, 4, 1]) b = np.array([3, 4, 5, 6]) c = np.concatenate((np.setdiff1d(a, b), np.setdiff1d(b,a)))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多