我取一列(第三列)的3个值,并将这些值放到3个新列的行中。并将新列和旧列合并为新矩阵a
在第nr3列中输入时间序列在第1列和第2列中输入值
[x x 1]
[x x 2]
[x x 3]
输出:矩阵A
[x x 1 0 0 0]
[x x 2 0 0 0]
[x x 3 1 2 3]
[x x 4 2 3 4]
因此,为了简洁起见,首先代码生成矩阵6行/3列。最后一列我想用来填充3个额外的列,并将其合并到一个新的矩阵a中。这个矩阵a被预先填充了2行以偏移起始位置。你知道吗
我在下面的代码中实现了这个想法,处理大型数据集需要很长时间。 如何提高这种转换的速度
import numpy as np
matrix = np.arange(18).reshape((6, 3))
nr=3
A = np.zeros((nr-1,nr))
for x in range( matrix.shape[0]-nr+1):
newrow = (np.transpose( matrix[x:x+nr,2:3] ))
A = np.vstack([A , newrow])
total= np.column_stack((matrix,A))
print (total)
这里有一种方法,使用^{} 获得那些滑动窗口元素,然后进行一些叠加以获得
A
-下面是一个有效的替代方法,使用^{} 获得
col2_2D
-将大小为
total
的零的输出数组初始化,然后用col2_2D
赋值,最后用输入数组matrix
赋值会更好。你知道吗运行时测试
作为功能接近-
计时和验证-
相关问题 更多 >
编程相关推荐