【问题标题】:how to use python-numpy-broadcasting如何使用 python-numpy-broadcasting
【发布时间】:2016-11-09 08:09:02
【问题描述】:

python 广播有问题

有两个numpy列表

x = np.array([[1,2,3],[4,5,6]])

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

我想计算

x : [[1,2,3],
     [4,5,6]]

x : [[1-y[0], 2-y[1], 3-y[2]],
     [4-y[0], 5-y[1], 6-y[2]]]

也就是说,

x : [[0,-3,-3],
     [3,0,0]] 

一次。

请告诉我该怎么做。

对不起……我错了……

我的意思是 x : [[1,1,2], [4,4,5]]

【问题讨论】:

  • 检查你的数学老兄!编程的一个通常先决条件是能够进行整数减法......
  • [[1-0, 2-1, 3-1],[4-0, 5-1, 6-1]] == [[0, -3, -3], [3, 0, 0]] ???
  • x-y 产生什么?
  • @hpaulj: 男性,我相信 :)
  • 不能无错减...

标签: python numpy array-broadcasting


【解决方案1】:

我不明白你是怎么得到的:

x : [[0,-3,-3],
     [3,0,0]] 

但最简单的方法就是:

import numpy as np
X = ([1,2,3],[4,5,6])
y = np.array([0,1,1])
print X-y

输出:

[[1 1 2]
[4 4 5] ]

【讨论】:

  • 你为什么要迭代?只需执行X-y 并获得一个二维数组。由于y 是一个数组,它也将X 视为一个数组。
  • 谢谢。这很容易。
猜你喜欢
  • 1970-01-01
  • 2020-01-06
  • 1970-01-01
  • 2015-06-08
  • 2019-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-13
相关资源
最近更新 更多