我正在遍历多个数据帧df1['values']
、df2['values']
等中的一列。['values']
中的元素如下所示:
[3, 1, 3, 1, 1, 4, 4, 3, 3, 1, 2, 1, 1, 3, 4, 2, 3, 1, 1, 1]
我想循环遍历该列,并将第一次出现的4附加到一个新列表中,然后中断循环。然而,如果3出现在4之前,那么我想附加3的第一次出现,忽略3的任何后续出现,但继续循环,直到我出现4的第一次,然后中断循环。
因此,根据上面的列表:[3, 1, 3, 1, 1, 4, 4, 3, 3, 1, 2, 1, 1, 3, 4, 2, 3, 1, 1, 1]
所需输出为:[3,4]
但如果列表看起来像:[2, 1, 2, 1, 1, 4, 4, 3, 3, 1, 2, 1, 1, 3, 4, 2, 3, 1, 1, 1]
所需输出为:[4]
你可以这样做:
u = df['values'].unique()
u = u[u >= 3]
u = u[:(u == 4).argmax()+1]
输出(使用第一个列表(:
>>> u
array([3, 4])
输出(使用第二个列表(:
>>> u
array([4])