例如:
指数果实
0:“香蕉”
1:“苹果”
2:“甜甜圈”
3:“披萨”
4:“面条”
5:“冰淇淋”
6:“葡萄柚”
通常,为了删除包含2-5行的行,我使用了drop。(df.index[2,3,4,5])然而,对于我正在做的项目,dataframe要大得多,我需要列出所有的索引来删除很多行,这是非常低效和耗时的。是否有一种更快更短的方法只使用开始和结束索引(在本例中为2和5)删除行。顺便说一下,我的索引是默认的,从0,1,2…开始。
有什么代码或方法可以做到这一点吗?谢谢!
发布于 2020-07-10 03:20:11
也可以;
df.drop(df.loc[2:5].index, inplace=True)或
df.drop(df.iloc[2:6].index, inplace=True)df.iloc[range].index和df.loc[range]选择所需的索引。请记住,.iloc的操作就像python range(start, range),它排除了最后一个索引。如果你使用它,你必须使用range(start, range+1)
发布于 2020-07-10 02:19:55
df.drop(df.index[x:y]),x是包含性的,y是独占的,因此它将从x中删除开始索引的行和从y-1删除开始索引的行。
start = 2
end = 5
df.drop(df.index[start:end+1])`)。
希望能帮上忙!
https://stackoverflow.com/questions/62826310
复制相似问题