我的数组如下:
a = ([1,2],[2,3],[4,5],[3,8])
我执行了以下操作以删除奇数索引:
a = [v for i, v in enumerate(a) if i % 2 == 0]
但是它现在让我潜入了两个不同的数组,而不是一维的二维数组:
a= [array([1, 2]), array([4, 5])]
如何保持与开头相同的格式?谢谢!
答案 0 :(得分:2)
那很简单
a[::2]
产生具有偶数索引的行。
答案 1 :(得分:1)
使用numpy数组索引,而不是理解:
c = a[list(range(0,len(a),2)),:]
如果您将c
定义为列表推导的输出,它将返回list
的一维numpy数组。相反,使用适当的索引会将结果保留为numpy数组。
请注意,我们要做的是指定保留的内容,而不是“删除”奇数索引:采用具有偶数索引(list(range(0,len(a),2))
部分)的所有行,并针对每一行采用所有元素({{ 1}}部分)