如何删除numpy.array中的列
发布于 2021-01-29 17:09:38
我想删除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.]])
我怎样才能做到这一点?
关注者
0
被浏览
49
1 个回答
-
鉴于其名称,我认为标准方法应为
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的文档页面,其参数
numpy.delete
如下:numpy.delete(arr, obj, axis=None)
arr
引用输入数组,obj
指的是哪些子数组(例如,列/行号或数组的切片),以及axis
指axis = 1
逐列()或逐行(axis = 0
)删除操作。