numpy数组,如果一个字符串元素在另一个字符串中重复,则删除行

2024-06-23 19:54:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个数组:

vals = numpy.array([['user1','number1','grades1'],
                    ['user1', 'number2','grade2'], 
                    ['user3', 'number3','grade3'], 
                    ['user4', 'number4','grade4']])

我想删除包含user1的一整行,因为在第一列的另一行中重复(哪一行可能是无关紧要的)。另外,如果有更多的行显示user1,只保留找到的第一行。所以输出可以是这样的:

array([['user1', 'number1','grade1'], 
       ['user3', 'number3','grade3'], 
       ['user4', 'number4','grade4']])

到目前为止我试过:

a = (vals[0:1,0:1] == vals[1:2,0:1])
vals = numpy.delete(vals, numpy.where(a), axis=0)

但是,我怎样才能用它来做一个循环呢?你知道吗


Tags: numpy数组arrayuser1valsnumber1number2user4

热门问题