计算一维numpy数组中元素的相对差异

问题描述 投票:0回答:1

假设我有一个由

np.array([1,2,3])
给出的一维 numpy 数组。

是否有内置命令用于计算每个元素之间的相对差异并将其显示在二维数组中?结果将由

给出

np.array([[0,-50,-100*2/3], [100,0,-100*1/3], [200,50,0]])

或者我必须使用 for 循环。

python numpy
1个回答
1
投票

使用 numpy 广播:

a = np.array([1,2,3])

out = (a[:, None]-a)/a*100

输出:

array([[  0.        , -50.        , -66.66666667],
       [100.        ,   0.        , -33.33333333],
       [200.        ,  50.        ,   0.        ]])
© www.soinside.com 2019 - 2024. All rights reserved.