Python 如何删除numpy数组中所有numpy数组中的第n个元素?

Python 如何删除numpy数组中所有numpy数组中的第n个元素?,python,arrays,numpy,multidimensional-array,indexing,Python,Arrays,Numpy,Multidimensional Array,Indexing,与之类似,我很好奇如何从numpy数组中的每个numpy数组中删除特定元素。我的数据以X的形式给出。我认为这应该奏效: X = [[x1 x2 ... xn] [x1 x2 ... xn] ... [x1 x2 ... xn]] X.shape (n,|x|) Y=numpy.delete(X[:],1) 我认为Y现在应该是: Y = [[x1 x3 ... xn] [x1 x3 ... xn] ... [x1 x3 ... xn]] 其中Y.shape应该相等(n-1,| Y |=| x

与之类似,我很好奇如何从numpy数组中的每个numpy数组中删除特定元素。我的数据以X的形式给出。我认为这应该奏效:

X = [[x1 x2 ... xn] [x1 x2 ... xn] ... [x1 x2 ... xn]]
X.shape
(n,|x|)

Y=numpy.delete(X[:],1)
我认为Y现在应该是:

Y = [[x1 x3 ... xn] [x1 x3 ... xn] ... [x1 x3 ... xn]]
其中Y.shape应该相等(n-1,| Y |=| x |),但它是而不是。我没有掌握什么?我的目的是能够删除X中每个数组中的所有x2(低相关变量),以便发送到决策树回归器。如果我能做到这一点就更好了:

index = [ 1 3 7]
Y=numpy.delete(X[:],index)
如果X不是“嵌套”numpy数组,则该方法有效。请参阅链接中的响应以了解:

array([1, 2, 3, 4, 5, 6, 7, 8, 9])

index
[2, 3, 6]

new_a = np.delete(a, index)

new_a
array([1, 2, 5, 6, 8, 9])

您需要沿轴应用
np.删除
。请参考本手册中的第三个示例


好极了!确保我理解axis的理念。如果我的示例是数组中的数组,那么我会声明axis=2?向下跨行(轴0),水平跨列(轴1)。在
numpy
中,我们讨论多维数组,即2D或3D数组。它们可以转换为列表的列表。但“数组的数组”是不同的,只有当内部数组大小不同(即不规则数组)时才会出现这种情况。
Y = np.delete(X, 1, axis=1)