python - 选择数组中向量的分量

标签 python arrays numpy tensor

我有一个形状为 (7, 2, 3) 的张量 我想从 7 个 2x3 矩阵中的每一个中选择两个行向量之一,即

[
 [[0, 0, 0],
  [1, 1, 1]],

 [[0, 0, 0],
  [1, 1, 1]],
 ...x7
]

a = [
 [0, 0, 0],
 [0, 0, 0],
 [0, 0, 0]
 ...x7
]
b = [
 [1, 1, 1],
 [1, 1, 1],
 [1, 1, 1]
 ...x7
]

每个形状都有 (7, 3)。

如何在不reshape的情况下做到这一点? (我发现当某些尺寸相同时reshape有点令人困惑)。

我也知道

np.array(map(lambda item: item[0], x)))

但如果有的话,我想要一种更简洁的方法。

最佳答案

只需使用循环索引:data[:, i, :],其中i从0到1循环

import numpy as np

a = np.array([
 [[0, 0, 0],
  [1, 1, 1]],

 [[0, 0, 0],
  [1, 1, 1]]
])
print(a[:, 1, :])

将产生

[[1 1 1]
 [1 1 1]]

关于python - 选择数组中向量的分量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65828080/

相关文章:

python - 初始化selenium webdriver时如何修复python-selenium错误 "connection refused"?

c++ - 在 GNU C++ 中声明一个字符串数组

python - 是否有更 Pythonic/优雅的方式来扩展 Numpy 数组的维度?

python - Python面部识别脚本意外停止

Python-Fitting 二维高斯到数据集

python - 在 python 中跟踪索引的正确方法是什么?

python - 与正则表达式匹配的句子

python - 目标 WSGI 脚本 '/opt/python/current/app/application.py' 不包含 WSGI 应用程序 'application'

python - 如何拆分 numpy 数组并对拆分数组执行某些操作 [Python]

python - 标准化后的 PIL 逊相关性