為什么在使用時會發生此錯誤np.ix_?
import numpy as np
a = np.arange(1,3).reshape(1,2)
print(a)
k_r = [[1,1],[1,-1]]
r = np.zeros((10,10),int)
r[np.ix_([a],[a])]= k_r
print(r)
錯誤:
ValueError:交叉索引必須是一維的
uj5u.com熱心網友回復:
該錯誤告訴您交叉索引必須是一維的,但a = np.arange(1,3).reshape(1,2)會創建一個二維陣列。此外,您通過將陣列包裝在串列中來添加另一個維度(有點,但不是真的)r[np.ix_([a],[a])]。
解決這些問題,你會得到:
import numpy as np
a = np.arange(1,3)
print(a)
k_r = [[1,1],[1,-1]]
r = np.zeros((10,10),int)
r[np.ix_(a,a)]= k_r
print(r)
uj5u.com熱心網友回復:
想我明白了這個問題。首先,您應該像這樣洗掉 a 周圍的“[]”
r[np.ix_(a,a)]= k_r
似乎 np.ix_(a, a) 想要一個格式: a = [x, x] 其中 x 是。您當前的 a 格式為:[[1 2]] 創建 a 的另一種方法可以是:
a = [i for i in range(1,3)]
如果這不能解決您的問題,您可以查看此頁面:https : //numpy.org/doc/stable/reference/generated/numpy.ix_.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/369826.html
