python - NumPy:将 1D 数组连接到 3D 数组

标签 python numpy

假设我有一个 5x10x3 数组,我将其解释为 5 个“子数组”,每个子数组由 10 行和 3 列组成。我还有一个单独的长度为 5 的一维数组,我称之为 b。

我试图在每个子数组中插入一个新列,其中插入第 i 个 (i=0,1,2,3,4) 子数组的列是一个 10x1 向量,其中每个元素等于b[i].

例如:

import numpy as np
np.random.seed(777)
A = np.random.rand(5,10,3)
b = np.array([2,4,6,8,10])

A[0] 应该是这样的:

A[1] 应该是这样的:

其他“子数组”也类似。 (注意b[0]=2和b[1]=4)

最佳答案

这个呢?

# Make an array B with the same dimensions than A
B = np.tile(b, (1, 10, 1)).transpose(2, 1, 0)  # shape: (5, 10, 1)

# Concatenate both
np.concatenate([A, B], axis=-1)  # shape: (5, 10, 4)

关于python - NumPy:将 1D 数组连接到 3D 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56782681/

相关文章:

python - 在 Windows 上获取 .exe 文件在 Python3 中的输出

python - Python 中的 Julia 映射切片功能等效

python - 如何在 Pandas 中将字符串时间转换为纳秒时间

python - 如何使用 matplotlib 实时绘制条形图

python - 将 pandas DataFrame 转换为没有额外列的记录数组

python - 生成 生成 numpy 数组

Python 语言的细微差别

python - 无法抓取 bscscan 的动态表。 requests_html 不返回任何内容并且 Selenium 不工作

python - 将列表与 Python 中的 pandas 中的日期进行比较

python - 如何有效地从我的数据框中获取列子集的 numpy 数组?