A = np.array([[4, 3, 2],
[1, 2, 3],
[0, -1, 5]])
shift = np.array([1,2,1])
out = np.array([[3, 2, np.nan],
[3, np.nan, np.nan],
[-1, 5, np.nan]])
我想左移二维numpy数组向左每一行独立地作为给定的移位向量和插补与南右。
请帮我解决这个问题
谢谢
3条答案
按热度按时间643ylb081#
hgc7kmma2#
使用滚动矩阵Ref的行
输出编号
b1zrtrql3#
您应该只对每行使用一个for循环和np.roll。
第一个
虽然有些人可能认为减少对
np.roll
的调用会有所帮助,但实际上并没有帮助,因为这正是np.roll
在内部实现的方式,并且代码中将有2个循环而不是1个。