【问题标题】:applying function to vector wise to a matrix [duplicate]将函数应用于向量的矩阵[重复]
【发布时间】:2017-11-07 17:22:48
【问题描述】:

我有一个 4 x 2 矩阵,即长度为 2 的 numpy 向量的 numpy 向量(长度为 4)。例如 a = [[1,1],[1,2],[3,5],[8,3]] 我想从每一行中减去向量 b = [3,6] 。 我尝试执行以下操作:

np.vectorize(lamda x: x-b)(a)

但我得到错误 ValueError:

setting an array element with a sequence.  

有人可以解释一下为什么以及如何正确地做到这一点吗?

【问题讨论】:

  • 试试:a - b[:,None],其中ab 是数组和向量。
  • 对于您的情况,只需 a-b 即可遵循广播规则。

标签: python numpy


【解决方案1】:

首先将它们转换为numpy数组,然后从a中减去b:

a = np.asarray(a)
b = np.asarray(b)
print a - b

【讨论】:

    猜你喜欢
    • 2015-04-23
    • 2020-01-16
    • 1970-01-01
    • 2012-11-02
    • 2021-06-20
    • 1970-01-01
    • 2017-09-24
    • 2011-06-02
    • 1970-01-01
    相关资源
    最近更新 更多