0
這是我的numpy的陣列的一個例子,我想應用一個函數mapping
爲的每行矩陣test
。numpy的錯誤沿軸線應用「ValueError異常:無法廣播從形狀(2)輸入數組的形狀(1)」
test = np.array([[0, .1, .9], [.1, .9, .8], [.8, .6, .1]])
test2 = np.array(['a','b','c'])
def mapping(x):
return test2[np.where(x > .7)].tolist()
這個作品
mapping(test[0]), mapping(test[1]), mapping(test[2])
正確的結果:(['c'], ['b', 'c'], ['a','b'])
但這不和吐出的錯誤。
np.apply_along_axis(mapping, 1, test)
我不明白爲什麼會出現這種情況。請幫忙。
'apply_along_axis'是試圖從結果中創建一個規則數組。但是你的行生成了1個或2個元素的列表組合。你爲什麼試圖使用這個功能?不是對行進行簡單的迭代嗎? – hpaulj