numpy选择每隔n个条目

时间:2015-09-18 21:31:10

标签: python arrays numpy indexing

有没有人知道在numpy数组中选择n个条目的每个其他组的聪明方法?例如,这里我喜欢选择所有“唯一”条目0,1,4,5,8,9等(n = 2)而不采用排序:

$found = $xml->xpath(...)[0];
echo $found->state;

预先建立一个索引数组是一个选项,但我想知道是否有人有更好的想法!

2 个答案:

答案 0 :(得分:3)

您可以重新整形数组以添加长度为2的额外维度:

In [10]: x.reshape(-1,2,2)
Out[10]: 
array([[[ 0,  2],
        [ 1,  3]],

       [[ 2,  0],
        [ 3,  1]],

       [[ 4,  6],
        [ 5,  7]],

       [[ 6,  4],
        [ 7,  5]],

       [[ 8, 10],
        [ 9, 11]],

       [[10,  8],
        [11,  9]],

       [[12, 14],
        [13, 15]],

       [[14, 12],
        [15, 13]]])

然后沿第一轴选择所有其他项目:

In [11]: x.reshape(-1,2,2)[::2]
Out[11]: 
array([[[ 0,  2],
        [ 1,  3]],

       [[ 4,  6],
        [ 5,  7]],

       [[ 8, 10],
        [ 9, 11]],

       [[12, 14],
        [13, 15]]])

最后将其重塑为2D数组:

In [12]: x.reshape(-1,2,2)[::2].reshape(-1,2)
Out[12]: 
array([[ 0,  2],
       [ 1,  3],
       [ 4,  6],
       [ 5,  7],
       [ 8, 10],
       [ 9, 11],
       [12, 14],
       [13, 15]])

答案 1 :(得分:1)

设l =您的原始列表,然后您想要的是:

<FrameLayout
    android:background:"@color/white"
    android:foreground:"?selectableItemBackground">

    <RelativeLayout />

</FrameLayout>