删除 Pandas DataFrame 中的多个行范围

2024-04-26

例如,如果我们有一个大小为 (100, 5) 的 Pandas DataFrame 并且想要删除多个行范围(不是多行或一系列行,而是多个行范围)通过索引,有没有办法做到这一点而不必循环索引?

举个例子,如果我想删除 Pandas DataFrame 的行df在索引 (3, 10)、(24, 29) 和 (31, 64) 之间,一个简单的方法是

for pair in [(3, 10), (24, 29), (31, 64)]:
    a, b = pair
    df.drop(df.iloc[a:b].index, inplace=True)

但我希望有一种方法可以一次性删除所有行的范围。

谢谢。


我在项目中的类似案例中遇到了与 @shona 相同的问题以及 @sammywemmy 提供的解决方案df.drop(np.r_[3:10,24:29,31:64])对我来说效果很好。我可以一次性从原始 DataFrame 中删除指定范围的行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

删除 Pandas DataFrame 中的多个行范围 的相关文章

随机推荐