我有一個很長的numpy的陣列,但是我們要說它看起來像這樣:用戶定義的函數numpy的外
>>> arr1 = np.array([0.001, 0.02, 0.021])
我想同時訪問兩個元素的數組一路下滑,並對他們執行操作。例如,我想這樣做:
np.cos(arr1[0])*np.cos(arr1[1])
np.cos(arr1[0])*np.cos(arr1[2])
np.cos(arr1[1])*np.cos(arr1[2])
我熟悉的功能「外」,我可以用它來做減法:
>>> np.subtract.outer(arr1, arr1)
array([[ 0. , -0.019, -0.02 ],
[ 0.019, 0. , -0.001],
[ 0.02 , 0.001, 0. ]])
我怎麼能養活我自己的函數成numpy的外面?
編輯:基於註釋的問題,我想在函數返回是這樣的:
我想同樣的模式,即由numpy的的外部函數返回。
array([[ np.cos(arr1[0])*np.cos(arr1[0]), np.cos(arr1[0])*np.cos(arr1[1]), np.cos(arr1[0])*np.cos(arr1[2]) ],
[ np.cos(arr1[1])*np.cos(arr1[0]), np.cos(arr1[1])*np.cos(arr1[1]), np.cos(arr1[1])*np.cos(arr1[2]) ],
[ np.cos(arr1[2])*np.cos(arr1[0]), np.cos(arr1[2])*np.cos(arr1[1]), np.cos(arr1[2])*np.cos(arr1[2]) ]])
有沒有關於如何選擇元素對的模式? – Divakar
請參閱編輯@Divakar,我無法在評論中找到我的答案! – StatsSorceress