python - 通过指定行和列从另一个数组创建 NumPy 数组

标签 python arrays numpy

如何创建一个 NumPy 数组 B,它是 NumPy 数组 A 的子数组,通过指定哪些行和列(由 x 表示) y 分别)将被包括在内?

例如:

A = numpy.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]])
x = [0, 2]
y = [1, 3, 4]
B = # Do something .....

应该给出输出:

>>> B
array([[2, 4, 5], [12, 14, 15]])

最佳答案

最好的方法是使用 ix_ 函数:参见 answer by MSeifert了解详情。

或者,您可以使用 xy 链接索引操作:

>>> A[x][:,y]
array([[ 2,  4,  5],
       [12, 14, 15]])

第一个x用于选择A的行。接下来,[:,y] 挑选出由 y 的元素指定的子数组的列。

在这种情况下,链接是对称的:如果您愿意,您也可以先使用 A[:,y][x] 选择列。

关于python - 通过指定行和列从另一个数组创建 NumPy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26493689/

相关文章:

python - 在 SQLAlchemy 中获取表名

python - 如何使用 python 识别元素并通过 selenium 调用 send_keys

arrays - 数组元素赋值的奇怪行为

python - 将 numpy 数组转换为 cython 指针

python - 查找两个数组之间变化值的索引

python - numpy.polyfit 的额外结果是什么意思?

Python Selenium 查找此元素或此元素

javascript - 数组显示为空,但它包含值

arrays - 如何知道 VBA 中的字符串数组为空?

python - Pandas 沿着多索引和单独的索引切片