Pandas: как получить строки между индексами?

#python #pandas #indexing #rows

#python #pandas #индексирование #строки

Вопрос:

Всем доброго дня. Моя проблема в том, что я не могу получить строки (данные) между несколькими строками. У меня есть одна книга Excel с 21 листом. Каждая таблица на каждом листе с некоторыми различными изменениями. У таблиц нет заголовков (люди, которые это сделали — идиоты). Но в таблицах есть одинаковые значения в первом и втором столбцах. Итак, я получаю их индексы, но как получить строки между ними? введите описание изображения здесь

 import pandas as pd

file_path = r"./files/menu.xlsx"

df = pd.read_excel(file_path)
xl = pd.ExcelFile(file_path).sheet_names
breakfast = df.loc[df['Unnamed: 0'] == 'breakfast'].index[0]   # index is "5"
dinner = df.loc[df['Unnamed: 0'] == 'dinner'].index[0]         # index is "14"
heads = df.iloc[[int(breakfast) - 1]]
 

Ответ №1:

Вы можете использовать диапазон start:end в iloc() операции для указания начального и конечного индексов. Помните, что начальный индекс включается в результат, а конечный индекс исключается:

 rows_between = df.iloc[int(breakfast) 1:int(dinner)]