我有一个这样的数组:
['6.00', '1.85', 'X', '2.25', '1.26', 'X', '6.50', '1.80', 'X', '6.50', '1.95', 'X', '34.00', '5.50']
有谁知道我怎么才能返回一个数组的每个第三个元素之前的'X'?:
['6.00', '2.25', '6.50', '6.50']
我已经通过下面的代码删除了每个第2和第3个元素,但是当列表中有更多的元素超过最后一个'X'或者'X'不是均匀间隔时,它就会中断:
data = ['6.00', '1.85', 'X', '2.25', '1.26', 'X', '6.50', '1.80', 'X', '6.50', '1.95', 'X', '34.00', '5.50']
x = np.array(data)
x = np.delete(x, np.arange(1, x.size, 3))
x = np.delete(x, np.arange(1, x.size, 2))
1条答案
按热度按时间kt06eoxx1#
通过使用位置偏移(由
np.nonzero
找到),其中x == 'X'
: