python - 在numpy下合并两个数组

标签 python arrays numpy

使用 Numpy,我想在给定 b 和 c 的情况下实现以下结果。我研究了堆叠功能,但我无法让它工作。有人可以帮忙吗?

import numpy as np

a=range(35,135)

b=np.reshape(a,(10,10))
c=np.array([[5,5],[5,6],[5,7],[6,5],[6,6],[6,7],[7,5],[7,6],[7,7]])

结果应该是这样的:

np.array([[5,5,90],[5,6,91],[5,7,92],[6,5,100],[6,6,101],[6,7,102],
          [7,5,110],[7,6,111],[7,7,112]])

最佳答案

呸!这是一个傻瓜。首先,我们使用 numpy 的花式索引来提取您想要的项目。:

>>> b[tuple(c.T)]
array([ 90,  91,  92, 100, 101, 102, 110, 111, 112])

然后,唯一剩下的就是使用 column_stack 将该数组堆叠回 c:

>>> np.column_stack((c,b[tuple(c.T)]))
array([[  5,   5,  90],
       [  5,   6,  91],
       [  5,   7,  92],
       [  6,   5, 100],
       [  6,   6, 101],
       [  6,   7, 102],
       [  7,   5, 110],
       [  7,   6, 111],
       [  7,   7, 112]])

关于python - 在numpy下合并两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16919296/

相关文章:

python - 无法解决 AttributeError : 'Settings' object has no attribute 'ROOT_URLCONF' conundrum after doing a lot of research

python - 大于或等于 float 失败

php - 根据条件向多维数组添加键和变量

python - Numpy 关联底层代码

python - 在 Python 中重新格式化表

python - 如何避免在 Scrapy 中将媒体重新下载到 S3?

python - SQL 类型错误 : can't concat tuple to bytes

java - 如何在 Java 中创建一个泛型数组?

c++ - 如何在C++中初始化一个空整数数组

python - 矢量化中的数组索引