Как удалить строку индексов с начальным и конечным индексами в кадре данных (python)? - PullRequest
2 голосов
/ 10 июля 2020

Например:

ИНДЕКС ФРУКТЫ

0: «банан»

1: «яблоко»

2: «пончик»

3: «пицца»

4: «лапша»

5: «мороженое»

6: «грейпфрут»

Обычно , чтобы удалить строки 2-5 включительно, я использую drop. (df.index [[2,3,4,5]]) Однако для проекта, который я делаю, фрейм данных намного больше, и мне пришлось бы перечислить все индексы, чтобы отбросить много строк, что действительно неэффективно и требует много времени. Есть ли более быстрый и короткий способ просто отбросить строки, используя только начальный и конечный индекс (в данном случае 2 и 5). Кстати, мои индексы по умолчанию, начиная с 0, 1, 2…

Есть строка кода или способ сделать это? Спасибо!

Ответы [ 2 ]

1 голос
/ 10 июля 2020
  • вы можете использовать df.drop(df.index[x:y]), здесь x является включающим, а y является эксклюзивным, поэтому он удалит строки, которые начинают индекс с x и конечный индекс y-1
start = 2
end = 5
df.drop(df.index[start:end+1])`
  • Приведенный выше код удалит строки 2-5 включительно.

Надеюсь, это поможет!

0 голосов
/ 10 июля 2020

Может также;

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), исключая последний индекс. При его использовании необходимо набрать go range(start, range+1)

...