【问题标题】:Stack 2d array on specific row在特定行上堆叠二维数组
【发布时间】:2021-12-18 13:37:23
【问题描述】:

我有两个 numpy 2d 数组,我想将它们堆叠起来,但要放在我要放置它们的特定行中。

a = ([[4, 2],
      [7, 3],
      [1, 8]])

b = ([[10, 6],   (put in 3rd row)
      [9, 5]]) (put in 5th row)

Expected output = ([[4, 2],
                    [7, 3],
                    [10, 6],
                    [1, 8],
                    [9, 5]])

在python中最快的方法是什么?

【问题讨论】:

  • 你如何决定他们去哪里?您是否有机会按其中一列排序?
  • 不,我的目的不是对任何列进行排序,我只想同时插入两个/多个数组,方法是指定要在哪一行插入它们。
  • 你在哪里指定的?我的意思是在文本中你可以说出来,但在代码中描述它的对象在哪里?
  • 你用numpy.insert试试运气了吗?

标签: python arrays numpy numpy-ndarray


【解决方案1】:

对于您的特定示例:

import numpy as np
a = np.array([[1, 2],[3, 4],[7, 8]])
b = np.array([[5, 6],[9, 10]])
np.insert(a,[2,3],b,axis=0)

输出:

array([[ 1,  2],
   [ 3,  4],
   [ 5,  6],
   [ 7,  8],
   [ 9, 10]])

【讨论】:

    猜你喜欢
    • 2019-09-19
    • 2019-03-16
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    • 2021-02-23
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    相关资源
    最近更新 更多