【问题标题】:All pairs of numbers between 2 arrays2个数组之间的所有数字对
【发布时间】:2014-10-17 10:18:08
【问题描述】:

我正在尝试使用 numpy 获取两个数组之间的所有数字对,但没有成功。 基本上我需要的是一个外部产品,其中将数字而不是相乘放在一个数组中,即:

a = np.array([1, 2])
b = np.array([3, 4])

np.Func(a, b)
>>> [[[1,3], [1,4]]
     [[2,3], [2,4]]]

我正在尝试np.meshgrid(a,b),但输出不是我所期望的。

【问题讨论】:

  • 你应该用你得到的输出而不是你期望的输出来更新问题。
  • 我不知道要使用的功能,我无法发布它的输出。我试过meshgrid,它的输出不是我所期望的

标签: python arrays numpy combinations


【解决方案1】:

你也可以使用meshgrid的transpose

>>> np.transpose(np.meshgrid(a, b))
array([[[1, 3],
        [1, 4]],

       [[2, 3],
        [2, 4]]])

【讨论】:

    【解决方案2】:

    你在做np.meshgrid之后需要np.dstack

    >>> a, b = np.array([1, 2]), np.array([3, 4])
    >>> xs, ys = np.meshgrid(a, b)
    >>> np.dstack([xs, ys])
    array([[[1, 3],
            [2, 3]],
    
           [[1, 4],
            [2, 4]]])
    

    要与问题中显示的顺序相同,您可以使用np.transpose

    >>> np.dstack([xs, ys]).transpose((1, 0, 2))
    array([[[1, 3],
            [1, 4]],
    
           [[2, 3],
            [2, 4]]])
    

    【讨论】:

      猜你喜欢
      • 2016-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-28
      • 2020-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多