首页 > 解决方案 > 在列表数组中搜索特定字符串,然后为所有具有较小索引的元素创建布尔值

问题描述

我有一个如下所示的 numpy 数组:

a_few_lists=
array([['A', 'B', '-', 'C', 'D'],
       ['E', 'F', 'G', '-', 'H'],
       ['I', 'J', '-', 'K', 'L']], dtype='<U2')

我想在每一行中搜索“-”并创建一个数组,将其左侧标记为真。我也想删除那个元素。我已经通过使用np.nonzero(a_few_lists == '-')[1]返回获得了字符串的索引[2,3,2]。我可以使用这些来相当容易地删除“-”,但我也想标记其他元素。

期望的输出:

array([['A', 'B', 'C', 'D'],
       ['E', 'F', 'G', 'H'],
       ['I', 'J', 'K', 'L']], dtype='<U2')

array([[True, True, False, False],
       [True, True, True, False],
       [True, True, False, False]])

标签: pythonnumpybooleanextractindices

解决方案


推荐阅读