熊猫保持每一组行

JSo*_*ulp 3 python dataframe pandas

所以说我有一个像这样的pandas数据帧:

    0   1   2
0   1   2   3
1   4   5   6
2   7   8   9
3  10  11  12
4  13  14  15
5  16  17  18
Run Code Online (Sandbox Code Playgroud)

我想保留每两组的其他组,即最终结果如下所示:

    0   1   2
0   1   2   3
1   4   5   6
4  13  14  15
5  16  17  18
Run Code Online (Sandbox Code Playgroud)

我知道如何使用df.iloc [:: 2]获取交替行,但这给了我:

    0   1   2
0   1   2   3
2   7   8   9
4  13  14  15
Run Code Online (Sandbox Code Playgroud)

如果有人能指出我在这里正确的方向,不确定是否有可能用iloc这样做,但如果有人能指出我正确的方向,那将是非常感激的

DSM*_*DSM 6

有很多方法可以做到这一点 - 一个是要注意,在4的重复模式中你想要前两个,或者:

In [18]: df.loc[np.arange(len(df)) % 4 < 2]
Out[18]: 
    0   1   2
0   1   2   3
1   4   5   6
4  13  14  15
5  16  17  18
Run Code Online (Sandbox Code Playgroud)

因为

In [19]: np.arange(len(df))
Out[19]: array([0, 1, 2, 3, 4, 5])

In [20]: np.arange(len(df)) % 4
Out[20]: array([0, 1, 2, 3, 0, 1])

In [21]: np.arange(len(df)) % 4 < 2
Out[21]: array([ True,  True, False, False,  True,  True], dtype=bool)
Run Code Online (Sandbox Code Playgroud)