如果我们有一个 Pandas DataFrame,例如大小为(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)
但我希望有一种方法可以一次性删除多个行的范围。
谢谢。
3:10
,然后在更改的数据框中删除行24:29
。因此,在原始数据框中,您将删除行3:10和(24 + 7):(29 + 7)
。这是预期的行为吗? - V. Ayratnp.r_
生成在删除发生之前的所有索引。当然,操作者必须说明他想要什么。 - sammywemmyloc
而不是iloc
来解决,然而,np.r_
是正确且最有效的方法。 - Sayandip Duttanp.r_
是最好的选择吗? - sean.han