我有一个A形状的数组,(N, N, K)我想计算另一个B具有相同形状的数组B[:, :, i] = np.linalg.inv(A[:, :, i]).
作为解决方案,我看到map并for循环,但我想知道是否numpy提供了一个功能来做到这一点(我已经尝试过,np.apply_over_axes但它似乎只能处理1D数组).
用for循环:
B = np.zeros(shape=A.shape)
for i in range(A.shape[2]):
B[:, :, i] = np.linalg.inv(A[:, :, i])
Run Code Online (Sandbox Code Playgroud)
用map:
B = np.asarray(map(np.linalg.inv, np.squeeze(np.dsplit(A, A.shape[2])))).transpose(1, 2, 0)
Run Code Online (Sandbox Code Playgroud)