Python 如何使用一个命令提取numpy数组的切片和特定列?

Python 如何使用一个命令提取numpy数组的切片和特定列?,python,arrays,numpy,Python,Arrays,Numpy,我想在一个命令中提取numpy数组的列切片和特定列 例如,对于数组A: import numpy as np A = np.array([[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]]) 我想选择从0到2的列以及列4。解决方案A[:,(0,1,2,4)]有效,在本例中易于实现。对于较大的数组,我正在寻找类型为a[:,(0:3,4)]的命令来选择切片和特定列。命令A[:,(0:3,4)]不起作用 是否有一种实用而优雅的方法可以用一个命令同时提取切片和特定列

我想在一个命令中提取
numpy
数组的列切片和特定列

例如,对于数组A:

import numpy as np
A = np.array([[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]])
我想选择从0到2的列以及列4。解决方案
A[:,(0,1,2,4)]
有效,在本例中易于实现。对于较大的数组,我正在寻找类型为
a[:,(0:3,4)]
的命令来选择切片和特定列。命令
A[:,(0:3,4)]
不起作用

是否有一种实用而优雅的方法可以用一个命令同时提取切片和特定列

非常感谢

正如ombk所建议的,您可以使用r\u。 它是连接切片表达式的完美工具

就你而言:

A[:, np.r_[0:3, 4]]
检索数组的预期部分


就像连接更多切片表达式的方法一样。

您是否尝试过使用
np.r
您必须以某种方式将元组转换为列表
np.r
很好地做到了这一点,但在封面下它使用
arange
切片
转换为一个数组,并将它们全部连接起来。另一种方法是先建立索引,然后连接结果。支出趋于相似。