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] 举报,一经查实,本站将立刻删除。