我有一个很长的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