切片numpy数组与所需行的列表 [英] Slice numpy array wth list of wanted rows
本文介绍了切片numpy数组与所需行的列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个numpy二维数组 A
和行号列表 row_set
.我如何获得新的数组 B
,例如 row_set = [0,2,5]
,然后 B = [A_row [0],A_row [2],A_row [5]]
?
I have a numpy 2d array A
, and a list of row numbers row_set
. How can I get new array B
such as if row_set = [0, 2, 5]
, then B = [A_row[0], A_row[2], A_row[5]]
?
我想到了这样的东西:
def slice_matrix(A, row_set):
slice = array([row for row in A if row_num in row_set])
但是我不知道如何获取row_num.
but I don't have any idea, how can I get a row_num.
推荐答案
使用 take()
:
In [87]: m = np.random.random((6, 2))
In [88]: m
Out[88]:
array([[ 0.6641412 , 0.31556053],
[ 0.11480163, 0.00143887],
[ 0.4677745 , 0.43055324],
[ 0.49749099, 0.15678506],
[ 0.48024596, 0.65701218],
[ 0.48952677, 0.97089177]])
In [89]: m.take([0, 2, 5], axis=0)
Out[89]:
array([[ 0.6641412 , 0.31556053],
[ 0.4677745 , 0.43055324],
[ 0.48952677, 0.97089177]])
这篇关于切片numpy数组与所需行的列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文