2024-04-19 11:44:58 发布
网友
对于2*N x 2*N数组x,我想以一种特定的方式将[0:N]与行[N:2*N]交换,即,我的问题是,是否有一种“内置”的“添加/连接”切片对象的方式来实现这一点?一、 例如:
2*N x 2*N
x
[0:N]
[N:2*N]
x[N:2*N + 0:N,:]
尽管,前面的方法有所不同。在
当然,我可以做vstack((x[N:2*N,:],x[0:N,:])),这不是我真正想要的,或者{},这可能很慢。在
vstack((x[N:2*N,:],x[0:N,:]))
我想您正在寻找^{},它“将切片对象转换为沿第一个轴的连接”。它允许您沿着第一个轴执行更复杂的切片-您可以用逗号连接多个切片:np.r_[5:10, 100:200:10, 15, 20, 0:5]。在
np.r_[5:10, 100:200:10, 15, 20, 0:5]
例如:
>>> import numpy as np >>> N = 2 >>> x = np.arange(16).reshape(4, 4) >>> x[np.r_[N:2*N, 0:N]] array([[ 8, 9, 10, 11], [12, 13, 14, 15], [ 0, 1, 2, 3], [ 4, 5, 6, 7]])
在这个特定的例子中,你也可以^{}它:
我想您正在寻找^{} ,它“将切片对象转换为沿第一个轴的连接”。它允许您沿着第一个轴执行更复杂的切片-您可以用逗号连接多个切片:
np.r_[5:10, 100:200:10, 15, 20, 0:5]
。在例如:
在这个特定的例子中,你也可以^{} 它:
^{pr2}$相关问题 更多 >
编程相关推荐