簡體   English   中英

刪除 Pandas DataFrame 中的多個行范圍

[英]Dropping multiple ranges of rows in a Pandas DataFrame

如果我們有一個 Pandas DataFrame,例如,大小 (100, 5) 並且想要通過索引刪除多個行范圍(不是多個行或行范圍,而是多個行范圍),有沒有辦法做它不必遍歷索引?

例如,如果我想在索引 (3, 10)、(24, 29) 和 (31, 64) 之間刪除 Pandas DataFrame df的行,那么一種天真的方法是

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 中刪除指定的行范圍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM