有没有一种方法可以对矩阵项求和,并将其在numpy数组中沿给定轴的对角线上进行反射?

问题描述

假设

A = np.array([[1,2,3,5,0],[5,6,7,9,10]])

在这种情况下,实际数据集是一个对角线为零的方阵)我想创建一个np数组V,该数组将每一行中第一个零点上反射的对加起来,并按照它们与零。即V [0] = [(2 + 3),(1 + 5),0] V [1] = [(7 + 9),(6 + 5),(10 + 5)] ...

所以

V = ([5,[16,11,15])

我可以通过循环遍历每一行,然后将每一行添加到其反射的平移版本中,以非常简单的方式来完成此操作,只需两行就可以像这样简单。

B = A.copy()
B = B[...,::-1]
V = np.array([A[0]+np.roll(B[0],-2),A[1]+B[1]])[:,0:3]

但是我想知道是否有矢量化的方法来执行此操作,或者是否有一些numpy固有的函数来对数组的项及其在对角线上的反射求和,因为随着数据集的变大,效率会降低。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...