【发布时间】:2012-01-26 02:38:47
【问题描述】:
如果这里有人问过这个问题,我深表歉意 - 我已经在这里和 Tentative NumPy 教程中寻找答案。
我有 2 个 numpy 数组。第一个数组类似于:
1 0 0 0 0
2 0 0 0 0
3 0 0 0 0
4 0 0 0 0
5 0 0 0 0
6 0 0 0 0
7 0 0 0 0
8 0 0 0 0
(等等......实际上是〜700x10)
然后我有一个类似于
的第二个数组3 1
4 18
5 2
(再次,更长 - 可能是 400 行左右)
第二个数组的第一列总是完全包含在第一个数组的第一列中
我想做的是将第二个数组的第二列作为现有列的一部分插入到第一个数组中,即:
数组a:
1 0 0 0 0
2 0 0 0 0
3 1 0 0 0
4 18 0 0 0
5 2 0 0 0
6 0 0 0 0
7 0 0 0 0
8 0 0 0 0
(我会依次填写每一列,但每列都涵盖了原始范围内的不同范围)
我的第一次尝试是按照 a[b[:,0],1]=b[:,1] 的方式将它们放入 b 的索引中,而不是值(即,在我上面的示例中,而不是填写第 3、4 和 5 行,我填写了 2、3 和 4)。我应该意识到这一点!
从那时起,我一直试图让它与 where() 一起非常不优雅地工作,我想我可以通过找出第一列的起始值的差异来让它工作。
我是 python 新手,所以也许我过于乐观 - 但似乎应该有一种更优雅的方式,我只是想念它。
感谢您的任何见解!
【问题讨论】:
标签: python multidimensional-array numpy