0
假設我們有一個numpy數組,如何將一個numpy數組更改爲0和1的特定矩陣
a=[1,1,2,3]
我們如何才能改變「A」爲4×4矩陣,如:
[0 1 o o
0 1 0 0
0 0 1 0
0 0 0 1]
我的意思是,通過調用每個元素,它給我們的1對應的值向量指數。 謝謝
假設我們有一個numpy數組,如何將一個numpy數組更改爲0和1的特定矩陣
a=[1,1,2,3]
我們如何才能改變「A」爲4×4矩陣,如:
[0 1 o o
0 1 0 0
0 0 1 0
0 0 0 1]
我的意思是,通過調用每個元素,它給我們的1對應的值向量指數。 謝謝
我不知道如果numpy的具有任何預定義的功能要做到這一點,但一個簡單的方式通過for
循環將做到這一點 -
In [61]: a
Out[61]: array([1, 1, 2, 3])
In [83]: i = np.zeros((a.shape[0],a.max()+1))
In [84]: for x,y in enumerate(a):
....: i[x,y] = 1
....:
In [85]: i
Out[85]:
array([[ 0., 1., 0., 0.],
[ 0., 1., 0., 0.],
[ 0., 0., 1., 0.],
[ 0., 0., 0., 1.]])