我有一個產生以下結果的運算式:
array([[0.5],
[0. ]])
我想制作一個對角線 2X2 矩陣,其對角線上有 0.5 和 0。但是當我使用以下代碼時:
np.diag(A)
A 是上述陣列,我得到以下結果:
array([0.5])
為什么 python 不包含陣列中 A 的第二個元素,我該如何包含它?
uj5u.com熱心網友回復:
x是 2d:
In [106]: x=np.array([[0.5],
...: [0. ]])
In [107]: x
Out[107]:
array([[0.5],
[0. ]])
In [108]: x.shape
Out[108]: (2, 1)
閱讀diag檔案 - 給定一個二維陣列,它回傳對角線:
In [109]: np.diag(x)
Out[109]: array([0.5])
給定一個一維陣列,它回傳一個二維陣列:
In [110]: np.diag(x[:,0])
Out[110]:
array([[0.5, 0. ],
[0. , 0. ]])
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/468200.html
