微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python – 熊猫保持每一组行

所以说我有一个像这样的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

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

    0   1   2
0   1   2   3
1   4   5   6
4  13  14  15
5  16  17  18

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

    0   1   2
0   1   2   3
2   7   8   9
4  13  14  15

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

解决方法:

有很多方法可以做到这一点 – 一个是要注意,在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

因为

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)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐