Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 通过列值有效过滤numpy矩阵的正确方法是什么?_Python_Python 3.x_Numpy_Scipy - Fatal编程技术网

Python 通过列值有效过滤numpy矩阵的正确方法是什么?

Python 通过列值有效过滤numpy矩阵的正确方法是什么?,python,python-3.x,numpy,scipy,Python,Python 3.x,Numpy,Scipy,我正在使用一个numpy矩阵,如下所示: [[ 0 1 2 ..., 97 98 0] [ 100 101 102 ..., 197 198 0] [ 200 201 202 ..., 297 298 1] ..., [9700 9701 9702 ..., 9797 9798 1] [9800 9801 9802 ..., 9897 9898 0] [9900 9901 9902 ..., 9997 9998 0]] 如何删除nump

我正在使用一个numpy矩阵,如下所示:

[[   0    1    2 ...,   97   98  0]
 [ 100  101  102 ...,  197  198  0]
 [ 200  201  202 ...,  297  298  1]
 ...,
 [9700 9701 9702 ..., 9797 9798 1]
 [9800 9801 9802 ..., 9897 9898 0]
 [9900 9901 9902 ..., 9997 9998 0]]
如何删除numpy矩阵最后一列中有一行的所有行

[[   0    1    2 ...,   97   98  0]
 [ 100  101  102 ...,  197  198  0]
 ...,
 [9800 9801 9802 ..., 9897 9898 0]
 [9900 9901 9902 ..., 9997 9998 0]]
我尝试将矩阵转换为数据帧,并按最后一列进行过滤:

matrix = pd.DataFrame(data=second_round_mat[1:,1:])
matrix = matrix[matrix['567'] != 1.0]

但是,这不是很方便,可能在numpy中也有类似的方法,因此如何在numpy中按列值进行筛选?

您可以直接在numpy中选择这样的行:

matrix = matrix[matrix[:, -1] != 1]

您可以直接在numpy中选择这样的行:

matrix = matrix[matrix[:, -1] != 1]

arr[mask,:]其中mask=arr[:,-1]==1I得到:
TypeError:unhable type:'slice'
你真的在使用numpy数组吗?是的,当我检查得到的类型时:
numpy.ndarray
你需要提供实际的代码和回溯。索引
ndarray
不应产生此
TypeError
。arr[mask,:]其中mask=arr[:,-1]==1I得到:
TypeError:unhabable类型:“slice”
你真的在使用numpy数组吗?是的,当我检查得到的类型时:
numpy.ndarray
你需要提供实际的代码并进行回溯。索引
ndarray
不应产生此
TypeError