首页 文章

如何从python中的np.where()获取nd数组?

提问于
浏览
-2

我的问题有不同的移动物体 . 我们计算不同时间范围内这些物体之间的距离 .

我有一个形状 A 的nd数组 (a,b) 存储距离 . a是fames的数量,b是计算此距离的坐标数 .

我有一个列表 L ,其中包含这些对象的名称 . 它的长度为b .

我想找到距离值为1的位置 . 然后我想在列表 L (具有相同的索引)中找到该索引的名称 . 我写了以下内容

A=[[nd array]]
L=[list of names]
list_to_array=np.array(L)
array_of_names_meeting_criteria=list_to_array[np.where(A==1)[1]]

问题是我没有得到每帧的名字 . 我希望这个数组是按帧分割的,所以我得到(a,x)其中a是帧数,每帧我有x个名字

样本案例

A=np.array[[1,2,2,6],[3,4,5,1],[3,1,17,4],[2,3,1,5]]
L=[('cat','dog'),('lion','elephant'),('man','women'),('fish','shark')]
llist_to_array=np.array(L)
array_of_names_meeting_criteria=list_to_array[np.where(A==1)[1]]

我应该得到以下内容: -

[['cat','dog'],['fish','shark'],['lion','elephant'],['man','women']]

1 回答

  • 0

    我刚从你的代码中做了一些小的编辑,结果如下:

    A = np.array([[1,2,2,6],[3,4,5,1],[3,1,17,4],[2,3,1,5]])
    L = [('cat','dog'),('lion','elephant'),('man','women'),('fish','shark')]
    list_to_array = np.array(L)
    array_of_names_meeting_criteria = list_to_array[np.where(A==1)[1]]
    

相关问题