我想删除 numpy.array 中的选定列。我就是这样做的:
n [397]: a = array([[ NaN, 2., 3., NaN],
.....: [ 1., 2., 3., 9]])
In [398]: print a
[[ NaN 2. 3. NaN]
[ 1. 2. 3. 9.]]
In [399]: z = any(isnan(a), axis=0)
In [400]: print z
[ True False False True]
In [401]: delete(a, z, axis = 1)
Out[401]:
array([[ 3., NaN],
[ 3., 9.]])
在此示例中,我的目标是删除所有包含 NaN 的列。我期待最后一个命令 结果:
array([[2., 3.],
[2., 3.]])
我该怎么做?
最佳答案
鉴于它的名字,我认为标准的方式应该是delete
:
import numpy as np
A = np.delete(A, 1, 0) # delete second row of A
B = np.delete(B, 2, 0) # delete third row of B
C = np.delete(C, 1, 1) # delete second column of C
根据numpy's documentation page ,numpy.delete
的参数如下:
numpy.delete(arr, obj, axis=None)
arr
指的是输入数组,obj
指的是哪些子数组(例如列/行号或数组的切片)和axis
指的是按列(axis = 1
)或按行(axis = 0
)删除操作。
关于python - 如何删除 numpy.array 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1642730/