1
我有一个大小为10的numpy数组A,值范围从0-4。我想创建一个新的二维数组B,其第i列是一个对应于A的第i个元素的向量。有效地修改numpy数组
例如,作为A的第一个元素的值1将对应于具有列矢量[0,1,0,0,0]
,因为它是第一列。具有4作为其第三个元素将对应于B有它的第三列[0,0,0,1,0]
我有以下代码:
import numpy as np
A = np.random.randint(0,5,10)
B = np.ones((5,10))
iden = np.identity(5, dtype=np.float64)
for i in range(0,10):
a = A[i]
B[:,i:i+1] = iden[:,a:a+1]
print A
print B
的代码是做什么它应该做的,但我相信有更有效的方式来做到这一点。任何人都可以请建议一些?
谢谢。正是我在找什么。 –