【问题标题】:Inserting A 2D array into another 2D array in python在python中将一个二维数组插入另一个二维数组
【发布时间】:2019-11-09 17:52:36
【问题描述】:

我想将一个大小为 508x12 的 numpy 数组 A 插入另一个大小为 508x13 的 numpy 数组 B 中,从而生成一个大小为 508x25 的数组。但事情是这样的,我不只是想连接它们,而是在一个特定的列位置 c 插入数组。

我该怎么做?,我试过了:

C = np.insert(B, c, A, axis=1)

【问题讨论】:

  • 您好!我不太确定 insert() 是否可行,也许有人会提出更好的答案。但与此同时,我建议您可以相对安全地使用C = np.concatenate([B[:, 0:c], A, B[:, c:]], axis=1) 之类的东西,以防万一。我希望我的尺寸正确。

标签: python arrays numpy insert


【解决方案1】:

就像@brezniczky 建议的那样拆分串联。或者,使用 hstack:

import numpy as np


a = np.ones((508,12))
b = np.zeros((508,13))

col = 3

final = np.hstack((b[:,0:col],a,b[:,col:])) 

print(final[0])

[0. 0. 0. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

在这种情况下 hstack 和与 axis=1 的连接是相同的,我只是更喜欢 hstack 以获得更好的可读性

【讨论】:

    猜你喜欢
    • 2021-03-18
    • 1970-01-01
    • 2017-12-13
    • 1970-01-01
    • 2021-06-04
    • 2021-12-31
    • 1970-01-01
    • 2022-12-07
    • 1970-01-01
    相关资源
    最近更新 更多