2

例如:

索引水果

0:“香蕉”

1:“苹果”

2:“甜甜圈”

3:“披萨”

4:“面条”

5:“冰淇淋”

6:“葡萄柚”

通常,为了删除第 2-5 行,我使用drop.(df.index[[2,3,4,5]])但是,对于我正在做的项目,数据框要大得多,我会必须列出所有索引以删除大量行,这确实是低效且耗时的。是否有一种更快更短的方法来仅使用开始和结束索引(在本例中为 2 和 5)删除行。顺便说一句,我的索引是默认的,从 0、1、2 开始……</p>

有没有一行代码或方法可以做到这一点?谢谢!

4

2 回答 2

1
  • 你可以df.drop(df.index[x:y])在这里使用 x 是包容性的,y 是独占性的,所以它将删除从 x 开始索引和结束索引 y-1 的行
start = 2
end = 5
df.drop(df.index[start:end+1])`
  • 上面的代码将删除第 2-5 行(包括第 2-5 行)。

我希望它有帮助!

于 2020-07-10T02:19:55.423 回答
1

也能;

df.drop(df.loc[2:5].index, inplace=True)

或者

df.drop(df.iloc[2:6].index, inplace=True)

df.iloc[range].indexdf.loc[range]选择所需的索引。请记住.iloc像 python 一样操作range(start, range),它排除了最后一个索引。如果使用它,你必须去range(start, range+1)

于 2020-07-10T03:20:11.777 回答